Java代码中的System.setProperty与ant xml

时间:2017-08-05 17:31:04

标签: java xml ant build jvm-arguments

如果我在Java程序代码中设置属性,它可以工作:

try {
        System.setProperty("javax.net.ssl.trustStore", "/home/ylinghao/AllocationAnomaliesDetection/env/AllocationAnomaliesDetection-1.0/runtime/certs/InternalTrustStore.jks");
        System.setProperty("javax.net.ssl.trustStorePassword", "password");
    } catch (Exception e) {
        System.out.println("Failed to specify keystore for issue" + e);
    }

但是如果我尝试在ant的build.xml中设置<jvmarg><systproperty>中的属性,则会失败。谁能告诉我有什么区别?谢谢!

2 个答案:

答案 0 :(得分:0)

我在这里引用文档网站:

  

使用嵌套元素指定类所需的系统属性。在执行类(ANT的VM或分叉的VM)期间,这些属性将可供VM使用。此元素的属性与环境变量的属性相同。

您需要fork="true"才能生效jvmargsysproperty

答案 1 :(得分:0)

您的问题是,您正在构建应用程序。所以你正在配置的jvm settign用于执行ant本身(或者你所使用的任何辅助java进程,例如,编译代码)。

所以在你的蚂蚁中你不会影响程序的执行,这在你启动时会在另一个java进程中完成。