Как добавить системное свойство, эквивалентное Java -D в Ant - PullRequest
11 голосов
/ 04 марта 2010

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

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

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

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

 <java classname>

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

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

Ответы [ 3 ]

9 голосов
/ 06 сентября 2012

Вот пример цели Ant 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 голосов
/ 04 марта 2010

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

ant -Djava.library.path=/some/path ...  ?
0 голосов
/ 12 марта 2010

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

Похоже, поскольку мы используем 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.

...