Вот уже около часа я бьюсь головой об стену: я пытаюсь передать простое свойство (java.library.path
) exec-maven-plugin.Цель состоит в том, чтобы интегрировать его с файлом правого клика Netbeans> Процедура запуска файла.
Поэтому я установил свой POM следующим образом:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<configuration>
<environmentVariables>
<java.library.path>native/win32-x86</java.library.path>
</environmentVariables>
</configuration>
</plugin>
</plugins>
</build>
(я использую старую версию, чтобы видетьАргументы выполнения, но полностью воспроизводимые с 1.2)
Затем я щелкаю правой кнопкой мыши по моему файлу и нажимаю «Запустить файл».Netbeans запускает этот процесс:
W:\programming\apache-maven-2.2.1\bin\mvn.bat -Dexec.classpathScope=runtime -Dexec.args=-classpath %classpath org.quackedcube.camera.CameraDemo -Dexec.executable=C:\Program Files\Java\jdk1.6.0_21\bin\java.exe -Dnetbeans.execution=true -Dmaven.repo.local=W:\programming\maven-repo process-classes exec:exec
(Исходное полное выполнение classpath было изменено на exec:exec
, поэтому, надеюсь, моя конфигурация применена)
Но моя переменная окружения, по-видимому, игнорируется, так как в результате выполняетсяПрограмма:
Result of cmd.exe /X /C ""C:\Program Files\Java\jdk1.6.0_21\bin\java.exe" -classpath *snip* org.quackedcube.camera.CameraDemo" execution is: '1'.
Я пробовал
- Использование отдельных тегов Key и Value внутри тега enviornmentVariable
- Использование тега ключа и значения непосредственно внутриТег enviornmentVariables (стоит попробовать)
- привязка к фазе
- , проходящая как maven arg и использующая вместо этого exec: java
- Passing -Djava.library.path = native /win32-x86 в качестве аргумента Run и опции VM на странице конфигурации проекта
, и все они потерпели неудачу.Я действительно в растерянности.
Я полагаю, что это недостаток использования JNI в maven: вы должны передать в качестве аргумента свои тесты, время выполнения, модуль POM, запускаемый POM, и родительский POM..
Итак, мой вопрос: как я могу передать свойство java.library.path
в исполняемый файл?Было бы хорошо, если бы он интегрировался с функциональностью Netbeans Run File (для этого мне не нужно менять имя класса в POM, строить, затем запускать)