ANT:如何修改构建文件中的java.library.path

Ivo*_*cky 7 java ant

java.library.path属性似乎是只读的.例如,当您在以下构建文件上运行ant时

<project name="MyProject" default="showprops" basedir=".">
    <property name="java.library.path" value="test"/>
    <property name="some.other.property" value="test1"/>
    <target name="showprops">
        <echo>java.library.path=${java.library.path}</echo>
        <echo>some.other.property=${some.other.property}</echo>
    </target>
</project>
Run Code Online (Sandbox Code Playgroud)

你得到

> ant -version
Apache Ant version 1.6.5 compiled on June 2 2005

> ant -Djava.library.path=commandlinedefinedpath
Buildfile: build.xml
showprops:
    [echo] java.library.path=commandlinedefinedpath
    [echo] some.other.property=test1
BUILD SUCCESSFUL
Total time: 0 seconds
Run Code Online (Sandbox Code Playgroud)

输出表明java.library.path尚未更改,但 some.other.property已正确设置.

我想知道如何修改构建文件中的java.library.path.在ant命令行上指定java.library.path并不是一个简单的选项,因为当时不知道库路径位置.

注意:我希望这可以工作,以便我可以指定单元测试中使用的本机库的位置.

Pet*_*ton 8

Ant属性不能按预期的方式工作:它们是不可变的,即您在设置一次后无法更改属性的值.如果你跑

ant -Dsome.other.property = commandlinedefinedpath

输出将不再显示

[echo] some.other.property = test1