Я хотел бы иметь триггер цели Знатока выполнение класса Java. Я пытаюсь мигрировать по a Makefile
со строками:
neotest:
mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse"
И я хотел бы mvn neotest
произвести что make neotest
в настоящее время делает.
Ни исполнительная документация плагина, ни страницы задач Ant Знатока не имели вида простого примера.
В настоящее время я в:
org.codehaus.mojo
exec-maven-plugin
1.1
java
org.dhappy.test.NeoTraverse
Я не знаю, как инициировать плагин из командной строки, все же.
С глобальной конфигурацией , которую вы определили для модуля exec-maven-plugin:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</plugin>
вызов mvn exec: java
в командной строке вызовет подключаемый модуль, настроенный для выполнения класса org.dhappy.test.NeoTraverse
.
Итак, чтобы запустить плагин из командной строки, просто запустите:
mvn exec:java
Теперь, если вы хотите выполнить цель exec: java
как часть вашей стандартной сборки, вам необходимо привязать цель к определенной фазе жизненного цикла по умолчанию .Для этого объявите фазу
, к которой вы хотите привязать цель, в элементе execution
:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>my-execution</id>
<phase>package</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</plugin>
В этом примере ваш класс будет выполняться во время пакета
фаза. Это всего лишь пример, адаптируйте его под свои нужды. Также работает с плагином версии 1.1.
Для выполнения нескольких программ мне также понадобилась секция profiles
:
<profiles>
<profile>
<id>traverse</id>
<activation>
<property>
<name>traverse</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<argument>org.dhappy.test.NeoTraverse</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
This is then executable as:
mvn exec:exec -Dtraverse