问题
I need to set java -Djava.library.path=/some/path and I want to do it when I am running my ant script, building my jar.
I think I have to use
<sysproperty key="java.library.path" value="/some/path"/>
but it doesnt work. I cannot make the syntax work. The only thing I have Googled and found is sysproperty in conjunction with
<java classname>
but that doesnt make any sense to me.
I am not sure if this is relevant, but I am using ant to create a ear and deploying this ear in JBoss.
回答1:
Here is an example Ant target run
that executes the example.jar
and passes a system property with key="java.library.path"
and value="/some/path"
:
<target name="run">
<java jar="example.jar" fork="true">
<jvmarg value="-Djava.library.path=/some/path"/>
</java>
</target>
回答2:
did you try to run
ant -Djava.library.path=/some/path ... ?
回答3:
I found out how I can solve this.
Seems like since we are using ant to create and deploy our application in a Application Server (Web Server), in our case JBoss, we had to modify
run.shand add the java.library.path as a VM argument there.
Something like this:
JBOSS_NATIVE_DIR="$JBOSS_NATIVE_DIR:/usr/lib/ure/lib/"
JAVA_OPTS="$JAVA_OPTS -Djava.library.path=$JBOSS_NATIVE_DIR"
Thus, it is not correct to pass in VM arguments in ant.
来源:https://stackoverflow.com/questions/2378357/how-to-add-system-property-equivalent-to-java-d-in-ant