我正在创建一个有两个罐子的应用程序:启动器和客户端。除了通过命令行参数逐个发送变量之外,我如何将数据从启动器发送到客户端?
编辑:两个jar都存在于同一台机器上,目前,启动器通过一行代码启动客户端。
String[] commands = {"java", "-Djava.library.path=natives", "-jar", "Client.jar",
"Client argument 1", ... , "Client argument N"};
Runtime.getRuntime().exec(commands);
答案 0 :(得分:0)
如果启动器正在更新客户端,那么您肯定可以创建一个客户端可以读取的结构,并且启动器可以更新。
最明显的结构是将存储所有可更新文件的文件夹。
启动程序会替换更新时文件的内容,客户端会读取它们。
什么更好:
将启动器的代码集成到客户端代码中,使客户端负责更新和读取这些文件。
答案 1 :(得分:0)
我设法找到了以下问题的解决方案:
使用相同的类路径 可以将多个jar放在同一个类路径下,以便能够相互调用方法。这可以通过将以下行添加到我发现的第一个jar的清单文件中来实现。
Class-Path: lwjgl.jar libs/AnotherJarFile.jar
来源:LWJGL Wiki
使用辅助文件 简单的文本文件可用于在多个罐之间传输数据。在我看来,最简单的方法就是通过XML序列化。