Как добавить системное свойство, эквивалентное 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.