Использование Maven Exec Plugin и его цели exec:java
, как было предложено, является первым вариантом.И предложенная команда верна, вы должны указать -Dexec.mainClass=VALUE
в командной строке.
mvn exec:java -Dexec.mainClass=com.acme.Hello
Что касается вашей "проблемы с classpath", ну, вы не очень четко ее описали.В чем твоя проблема?Каковы ваши зависимости именно?На всякий случай, есть параметр classpathScope
, позволяющий определить область пути к классу, передаваемую плагину.Например:
mvn exec:java -Dexec.classpathScope=compile -Dexec.mainClass=com.acme.Hello
В качестве альтернативы вышеуказанному плагину есть MOP .Что такое MOP?
Что такое MOP?
MOP - это небольшая утилита для выполнения программ Java, которые хранятся в виде артефактов, таких как jar или bundles, в репозитории Maven.
MOP автоматически решает следующие задачи:
- транзитивные зависимости
- загрузка артефактов из удаленных репозиториев и их локальное кэширование
- настройка вашего classpath