我们需要测试使用设置为不同值的语言的java构建。我可以手动(即通过export LANG=en_DK.UTF-8
和export LANG=en_DK
)测试使用ant build脚本运行的单元测试的行为有所不同,但我需要从ant设置环境变量。我尝试使用这些方法设置它(将shell $LANG
设置为en_DK.UTF-8
):
-D
:ant -DLANG=en_DK
build.properties
行的LANG=en_DK
文件
<property environment="ANTENV"/>
<property name="ANTENV.LANG" value="en_DK"/>
使用三种可能性中的任何一种,当使用-debug
运行时,ant会报告:
Override ignored for property "LANG"
如何在ant中设置LANG
环境变量?
答案 0 :(得分:1)
<property name="ANTENV.LANG" value="en_DK"/>
可能被ant解释为在LANG
(ANTENV
)中存储所有环境变量时覆盖已存在的<property environment="ANTENV"/>
值的尝试。
因此,您需要存储以将该值存储在单独的属性中。
<property name="MY.LANG" value="${env.LANG}" />
答案 1 :(得分:0)
假设您通过调用<java>
完成了“测试java构建”,您可以使用fork-flag并将属性传递给新创建的进程。以下是Ant documentation:
<java classname="test.Main"
fork="yes" >
<sysproperty key="DEBUG" value="true"/>
<arg value="-h"/>
<jvmarg value="-Xrunhprof:cpu=samples,file=log.txt,depth=3"/>
</java>