문제

Ant를 사용하여 사용자 정의 Maven2 플러그인을 구축했습니다. Custom Ant Plug-In이 성공적으로 완료된 직후 Cargo Maven2 플러그인에 특히 다른 Maven 플러그인을 호출하고 싶습니다. 그러나 카고 플러그인을 다른 목표 또는 단계에 첨부하고 싶지 않습니다. 배치 스크립트를 쓰지 않고 연속적으로 실행할 수있는 방법이 있습니까? Custom Ant 플러그인이화물 플러그인으로 호출 할 수있는 곳이 있습니까?

도움이 되었습니까?

해결책

이 토론보기 : Re : 플러그인 호출 다른 플러그인? Maven 개발자에 따르면 이것이 플러그인이 작동하는 방식이 아닙니다.

그러나이 흥미로운 의견이 있습니다.

플러그인/모조는 라이브러리 주변의 얇은 포장지 여야합니다. 라이브러리를 직접 사용하고 싶을 것입니다.

화물은 Maven 플러그인 일뿐 만 아니라 Java API와 개미 작업. 그래서 당신은 아마도 다음과 같습니다.

  • Ant Mojo의화물 개미 작업에 전화하십시오 (플러그인 클래스 경로에화물 항아리가 필요하다고 생각합니다).

  • Ant Mojo를 Java로 다시 작성하고화물 API를 호출하십시오 (화물 플러그인의 소스를보고 싶을 것입니다).

다른 팁

Maven-ant-Plugin이 실행 한 개미 스크립트는 실제로 Maven을 알지 못합니다. 이 플러그인은 사용자 정의 개미 작업과 거꾸로 호환되도록 설계되었습니다. 나는 당신이 그것을 할 수있는 어떤 종류의 해킹이있을 수 있지만 당신이 원하는 것을하는 깨끗한 방법을 생각할 수 없습니다.

화물 목표를 순전히 실행하는 내부 개미에서 Maven의 두 번째 인스턴스를 실행하는 것이 가능하지만이 경우 잠긴 파일 등에 문제가 발생할 수 있습니다. 그렇게하는 방법은 개미 스크립트에서 태그를 사용하고 적절한 목표를 가진 "MVN"실행 파일을 인수로 호출하는 것입니다.

가장 깨끗한 방법은 단순히화물 목표를 빌드의 단계에 묶고 개미가 끝난 후에 달리는 것입니다. 나는 그 접근법에 대한 단점이 없다 - 당신은 당신이 그것을 피하고 싶은 특정한 이유를 실제로 언급하지 않았다.

다음 두 Maven에 관심이있을 수 있습니다

Gmaven 플러그인을 사용하면 Groovy를 사용하여 Maven 플러그인을 작성할 수 있습니다. 이것은 당신에게 그것을 사용하여 개미에 대한 전체 액세스를 제공합니다 개미 제작자, Groovy에 개미 스크립트를 작성하는 매우 쉬운 방법입니다. 그런 다음이 Groovy Mojo에서 Mojo Executor를 사용하여 Maven Mojo에게 전화 할 수 있습니다.

나는 여러 맞춤형 Maven 플러그인에 사용했으며 Mojos를 쓰고 결합하는 더 쉬운 방법을 찾지 못했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top