Maven 목표가 Java 클래스의 실행을 트리거하도록하고 싶습니다. 나는 Makefile
라인을 통해 마이그레이션하려고합니다 .
neotest:
mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse"
그리고 저는 현재하고있는 mvn neotest
것을 생산하고 싶습니다 make neotest
.
어느 쪽도 아니 간부 인 플러그인 문서 나 메이븐 개미 작업 페이지는 간단한 예를 들어 어떤 종류 없었다.
현재 저는 다음 위치에 있습니다.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions><execution>
<goals><goal>java</goal></goals>
</execution></executions>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</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
표준 빌드의 일부로 목표 를 실행하려면 목표를 기본 수명주기 의 특정 단계 에 바인딩해야합니다 . 이렇게하려면 요소 에서 목표를 바인딩 할을 선언하십시오 .phase
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>
이 예제를 사용하면 package
단계 중에 클래스가 실행됩니다 . 이것은 단지 예일 뿐이며 필요에 맞게 조정하십시오. 플러그인 버전 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>
그러면 다음과 같이 실행됩니다.
mvn exec:exec -Ptraverse