[maven-2] 명령 줄에서 직접 Maven 플러그인 실행을 실행하는 방법은 무엇입니까?

ID가 있고 어떤 단계에도 바인딩되지 않은 실행이 구성된 플러그인 (antrun)이 있습니다. 이 실행을 명령 줄에서 직접 실행할 수 있습니까?

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>my-execution</id>
      ...
    </execution>
  </executions>
</plugin>

다음과 같이 실행하십시오.

mvn my-execution

아니면 적어도

mvn magicplugin:execute -DexecutionId=my-execution



답변

이 기능은 된 구현 으로 MNG-5768 , 메이븐 3.3.1에서 사용할 수 있습니다.

변경 사항은 다음과 같습니다.

선택적 @ execution-id 매개 변수를 허용하도록 직접 플러그인 호출 구문을 확장합니다 (예 : org.apache.maven.plugins : maven-remote-resources-plugin : 1.0 : process @ executionId).

따라서 귀하의 경우 :

mvn antrun:run

용도 default-cli실행 ID, 그리고 :

mvn antrun:run@my-execution

pom에 구성된 실행을 사용합니다.


답변

maven 플러그인을 실행하는 가장 직접적인 방법은 명령 줄에서 직접 플러그인 목표를 지정하는 것입니다.

mvn groupId:artifactId:version:goal

추가 정보 : Maven 플러그인 개발 가이드


답변

당신이 찾고있는 것은 Default + Plugin + Execution + IDs에 캡처 되었지만 현재는 지원되지 않습니다. 그러나 MNG-3401 의 의견에 따르면 (끝까지 읽으십시오) :

명령 줄에서 직접 호출되는 mojo의 경우 다음과 같이 executionId : ‘default-cli’를 사용하여 POM에서 구성을 제공 할 수 있습니다.

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <executions>
    <execution>
      <id>default-cli</id>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
          <descriptorRef>project</descriptorRef>
        </descriptorRefs>
      </configuration>
    </execution>
  </executions>
</plugin>

이것은 Maven 2.2.0 및 3.x에서 작동합니다.

아마 이것으로 충분할 것입니다.


답변