如何在Ant中添加与java -D等效的系统属性

时间:2010-03-04 10:13:56

标签: java ant build-process build

我需要设置 java -Djava.library.path = / some / path ,当我运行我的ant脚本,构建我的jar时,我想这样做。

我想我必须使用

<sysproperty key="java.library.path" value="/some/path"/>

但它不起作用。我不能使语法工作。我用谷歌搜索和找到的唯一东西是sysproperty与

一起使用
 <java classname>

但这对我没有任何意义。

我不确定这是否相关,但我使用ant来创建一个耳朵并在JBoss中部署这个耳朵。

3 个答案:

答案 0 :(得分:9)

以下是执行run并使用example.jarkey="java.library.path"传递系统属性的Ant目标value="/some/path"示例:

<target name="run">
    <java jar="example.jar" fork="true">
        <jvmarg value="-Djava.library.path=/some/path"/>
    </java>
</target>

答案 1 :(得分:2)

你尝试过

吗?
ant -Djava.library.path=/some/path ...  ?

答案 2 :(得分:-2)

我发现了如何解决这个问题。

似乎因为我们使用ant在Application Server(Web Server)中创建和部署我们的应用程序,在我们的例子中JBoss,我们必须修改

run.sh
并添加java.library。 path作为VM参数。

这样的事情:

JBOSS_NATIVE_DIR="$JBOSS_NATIVE_DIR:/usr/lib/ure/lib/"
JAVA_OPTS="$JAVA_OPTS -Djava.library.path=$JBOSS_NATIVE_DIR"

因此,在ant中传递VM参数是不正确的。