How to add system property equivalent to java -D in Ant

ant, build, build-process, java

Solution

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>

Problem

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.

Original source