如何在Ant中添加与java-D等价的系统属性
我需要设置java-Djava.library.path=/some/path,我想在运行ant脚本、构建jar时这样做 我想我必须使用如何在Ant中添加与java-D等价的系统属性,java,ant,build-process,build,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创建一个ear,并在
<sysproperty key="java.library.path" value="/some/path"/>
但它不起作用。我无法使语法正常工作。我在谷歌上搜索到的唯一一件事就是sysproperty与
<java classname>
但这对我来说毫无意义
我不确定这是否相关,但我正在使用ant创建一个ear,并在JBoss中部署这个ear。您尝试运行了吗
ant -Djava.library.path=/some/path ... ?
我找到了解决这个问题的方法 似乎因为我们使用ant在应用程序服务器(Web服务器)中创建和部署应用程序,在我们的JBoss中,我们不得不修改 run.sh
因此,在ant中传递VM参数是不正确的。下面是一个示例ant目标
运行,它执行example.jar
,并通过key=“java.library.path”
和value=“/some/path”
传递系统属性:
不,我没有试过这个。但我在eclipse中运行ant。我不确定如何在eclipse中添加该参数。如果我有选择权,我宁愿避免这样做,我尝试了您建议的方法,但仍然不起作用。当我打印System.getProperty(“java.library.path”)时,我仍然没有得到我添加的值。只是很多其他的东西。是什么把那些“很多其他的东西”放在那里的?通常情况下,这是没有设置的。我不知道。我猜是JBoss。我现在得到的值是:11:44:55656信息[OpenOfficeService]java.library.path是:/usr/lib/jvm/jdk1.5.0_22/jre/lib/i386/server:/usr/lib/jvm/jdk1.5.0_22/usr/lib/jdk1.5.0_22/jre//lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/i386/client:/usr/lib/jre/jre/jre/jre/jre/jre/jre/jre/jre/jre,我想添加/usr/lib/ure/lib,它并没有真正回答如何使用ant传递系统属性的一般问题……虽然我还没有测试过这个问题,但我希望它是正确的,所以我会接受它
JBOSS_NATIVE_DIR="$JBOSS_NATIVE_DIR:/usr/lib/ure/lib/"
JAVA_OPTS="$JAVA_OPTS -Djava.library.path=$JBOSS_NATIVE_DIR"
<target name="run">
<java jar="example.jar" fork="true">
<jvmarg value="-Djava.library.path=/some/path"/>
</java>
</target>