在我的java课程中我有
System.setProperty("test", drinks);
在我的Ant构建文件中,我能够执行jave类。 我如何使用名称" test"在Ant中获得结果$ {drinks}
答案 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
并根据需要进行解析。