Как добавить системное свойство, эквивалентное java -D в Ant

Мне нужно установить java -Djava.library.path =/some/path, и я хочу сделать это, когда я запускаю свой ant script, создавая мою банку.

Я думаю, что мне нужно использовать

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

но он не работает. Я не могу заставить синтаксис работать. Единственное, что у меня есть в Google и найденное - это sysproperty в сочетании с

 <java classname>

но это не имеет никакого смысла для меня.

Я не уверен, что это актуально, но я использую ant для создания уха и развертывания этого уха в JBoss.

Ответ 1

Вот пример Ant target run, который выполняет example.jar и передает системное свойство с key="java.library.path" и value="/some/path":

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

Ответ 2

Вы пытались запустить

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

Ответ 3

Я узнал, как я могу это решить.

Похоже, поскольку мы используем ant для создания и развертывания нашего приложения на сервере приложений (веб-сервере), в нашем случае JBoss нам пришлось изменить

run.sh
и добавить java.library.path в качестве виртуальной машины аргумент там.

Что-то вроде этого:

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

Таким образом, неверно передавать аргументы VM в ant.