gpt4 book ai didi

java - 有什么方法可以在 .jar 文件中设置 Java 系统属性,以便它们具有默认值但可以在命令行中覆盖?

转载 作者:搜寻专家 更新时间:2023-11-01 03:33:22 25 4
gpt4 key购买 nike

有什么方法可以在 .jar 文件中设置 Java 系统属性(例如通过 JAR list ),以便它们具有默认值但可以在命令行中覆盖?

例如,假设我想将系统属性 foo.bar 设置为 haha:

 java -jar myprog.jar

会将 foo.bar 默认为 haha 但是

 java -D foo.bar=hoho -jar myprog.jar

会将 foo.bar 设置为 hoho


更新:这不应该触及 main(String[] args) 中使用的系统参数。

最佳答案

如果您使用以下命令运行它:java -jar myprog.jar foo.bar=hoho 在 main 方法中键入 args[0] 将返回 foo。 bar=hoho 所以我们需要拆分它。

public static void main(String[] args) {

if(args[0].isEmpty) { // no first argument, so we will use the default value
prop.setProperty("foo.bar", "haha");
} else {

String[] words = args[0].split("="); // split the argument where the = is
prop.setProperty(words[0], words[1]);

}

}

上面的代码没有加载属性文件,希望你能理解基本的思路,祝你好运!

关于java - 有什么方法可以在 .jar 文件中设置 Java 系统属性,以便它们具有默认值但可以在命令行中覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40821460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com