是否可以在启动.jar时加载不同的配置文件?



我的问题是关于.jar文件。在我的项目中,我使用 json 配置文件,该文件加载在我的.jar文件中。是否可以以某种方式使用不同的配置文件?我有一个使用服务器/客户端套接字完成的项目,我知道我会有很多客户端,我不想为每个配置文件创建很多客户端.jar我想使用一个主客户端.jar并通过不同的配置文件运行它。

如果您不明白,我将尝试在示例中解释:

也许可以制作自定义标志或其他东西?

java -jar -config Client.jar example/foo/config.json
java -jar -config Client.jar example/foo/config2.json

等等...我想有人会帮助我..:)

这里有两个选项:

  1. 将文件名作为参数传递,
  2. 将其作为系统属性传递

选项 1:

你会像这样运行你的罐子:

java -jar Client.jar example/foo/config.json

并在main(String[] args)方法的第一个参数中获取文件名。

选项 2:

你会像这样运行你的罐子:

java -Dconfig=example/foo/config.json -jar Client.jar

您将通过调用System.getProperty("config")来获取文件名。

第二种方法的优点是让文件名在程序中的任何位置可用,而第一种方法仅在主方法中使其可用。

最新更新