1

我正在创建一个有两个 jar 的应用程序:启动器和客户端。除了通过命令行参数一一发送变量之外,我如何将数据从启动器发送到客户端?

编辑:两个 jars 存在于同一台机器上,现在,启动器通过类似于以下的代码行启动客户端。

String[] commands = {"java", "-Djava.library.path=natives", "-jar", "Client.jar",
                          "Client argument 1", ... , "Client argument N"};

Runtime.getRuntime().exec(commands);
4

2 回答 2

0

如果启动器正在更新客户端,那么您当然可以创建一个结构,您的客户端可以从中读取并且启动器可以更新。

最明显的结构是存储所有可更新文件的文件夹。

启动器在更新时替换文件的内容,客户端读取它们。

更好的是:

将启动器的代码集成到客户端代码中,让客户端负责更新和读取这些文件。

于 2013-05-31T15:53:09.590 回答
0

我设法找到以下解决方案来解决我的问题:

使用相同的类路径 可以将多个 jar 放在同一个类路径下,以便能够相互调用方法。据我了解,这可以通过将以下行添加到启动的第一个 jar 的清单文件中来实现。

Class-Path: lwjgl.jar libs/AnotherJarFile.jar

资料来源:LWJGL 维基

使用辅助文件 简单的文本文件可用于在多个 jar 之间传输数据。在我看来,最简单的方法是通过 XML 序列化。

于 2013-06-01T13:40:37.847 回答