Ant如何从自定义Java系统属性中获取值

时间:2014-05-05 17:04:14

标签: java ant

在我的java课程中我有

System.setProperty("test", drinks);

在我的Ant构建文件中,我能够执行jave类。 我如何使用名称" test"在Ant中获得结果$ {drinks}

2 个答案:

答案 0 :(得分:0)

唯一可行的方法是在java Ant任务中使用属性 fork =" false" (false为默认值)。也就是说,如果您的Java程序在与Ant相同的JVM中执行。否则,您的Java程序将在一个单独的进程中执行,并且它所设置的系统属性都不会被Ant访问。但要注意,执行非分叉Java程序可能(并且经常会)对Ant构建的其余部分产生不良副作用。

答案 1 :(得分:0)

如果属性是在命令行中设置的,例如ant -Dtest=drinks 它将作为 ${test} 从构建系统中可用,但是如果您通过执行 Java 代码调用此属性,您将需要找到一种方法从生成的Java 处理成一个新变量,通常结合使用 System.out.println(...)<exec ...> 任务的 outputproperty 并根据需要进行解析。

相关问题