2011-04-20 4 views
9

target/generated-sources /에 하나의 파일을 생성하는 플러그인을 작성했습니다. 이 플러그인에는 하나의 모조 만 있습니다. 이 모조은 다음과 선언 :메이븐 플러그인을위한 기본 모조를 정의하는 방법

/** 
* @goal convertsql 
* @phase generate-sources 
* @requiresProject 
*/ 
public class ConverterMojo extends AbstractMojo { 

프로젝트에서, 난 플러그인을 사용하고 싶지만 내가 사형 집행 태그를 지정하지 않은 경우 작동하지 않습니다 :

<executions> 
    <execution> 
     <id>convert</id> 
     <goals><goal>convertsql</goal></goals> 
     <phase>generate-sources</phase> 
    </execution> 
</executions> 

나는 것을

<plugin> 
    <groupId>com.my.plugins</groupId> 
    <artifactId>sqlconverter</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <configuration> 
     <sourceFile>src/main/resources/sql/schema_oracle.sql</sourceFile> 
    </configuration> 
</plugin> 

내 플러그인에 대한 기본 모조를 지정할 수 있습니다 :에만이 같은 플러그인을 구성 하시겠습니까? 기본 목표와 단계는 mojo에 정의되어 있습니다 ... 플러그인 플러그인을 사용할 때 실행하려는 목표를 말할 필요가 없습니다. 어떤 단계에서 ... 자동으로 실행됩니까?

감사합니다.

+0

의 메이븐 책에서 11.6.3. Overriding the Default Lifecycle를 참조하십시오? – khmarbaise

답변

1

플러그인에 META-INF/plexus/components.xml 파일을 추가하고 <extensions>true</extensions>을 플러그인 블록에 설정해야합니다.

당신이 당신의 플러그인처럼 pom으로 않는 방법을 참조

+0

고마워, lifecycle.xml, components.xml을 사용해 보았는데 작동하지 않습니다 ... 생각을 잊어 버렸습니다. 설정을 pom에 넣을 것입니다. –

+0

@ 제롬 나는 실제로 나 자신도하지 않았다. 나는 단지 문서를 인용했다 :-) –

관련 문제