Использование Maven 'exec: exec' с аргументами
У меня есть проект, настроенный для сборки и запуска с Maven. Проект зависит от платформы нативных библиотек, и ям, используя найденную стратегиюВот управлять этими зависимостями.
По сути,.dll
или же.so
файлы для конкретной платформы упаковываются в jar-файл и отправляются на сервер Maven с классификатором, определяющим целевую платформу. Затем плагин maven-dependency-plugin распаковывает специфичный для платформы jar и копирует собственные библиотеки в целевую папку.
Обычно я бы использовалmvn exec:java
запустить программу на Java, ноexec:java
запускает приложения в той же JVM, что и Maven, что не позволяет мне изменять путь к классам. Поскольку родные зависимости должны быть добавлены в путь к классам, я вынужден использоватьmvn exec:exec
вместо. Это соответствующий фрагмент пом:
...
org.codehaus.mojo
exec-maven-plugin
1.2.1
java
-Djava.library.path=target/lib
-classpath
com.example.app.MainClass
...
Это прекрасно работает для конфигурации приложения по умолчанию, но я хочу иметь возможность указать некоторые дополнительные параметры в командной строке. В идеале яЯ хотел бы сделать что-то вроде этого:
mvn exec:exec -Dexec.args="-a -b "
К сожалению, указавexec.args
Переменная перезаписывает аргументы, которые у меня есть в pom (которые необходимы для настройки пути к классам и запуска приложения). Это можно обойти? Какие'лучший способ указать некоторые необязательные аргументы в командной строке, не перезаписывая то, что у меня есть в пом?