2011-07-16 19 views
1

私はカスタムプラグインの目標が実行される前にwsdl2javaプラグインが実行されるカスタムライフサイクルを作成するという概念で、axis2 wsdl2javaプラグインを拡張するカスタムmavenプラグインを作成しました。mojoからカスタムライフサイクルへのパラメータの受け渡し

カスタムライフサイクルを呼び出すコードは次のとおりです。私のモジョが

/** 
* 
* @goal process 
* @execute lifecycle="custom-lifecycle" phase="invoke" 
*/ 
public class SampleMojo extends AbstractMojo 
{ 
    public void execute() 
    throws MojoExecutionException 
    { 
    //Code 
    } 
} 

問題である

<lifecycles>  
    <lifecycle> 
    <id>custom-lifecycle</id> 
    <phases> 
    <phase> 
     <id>invoke</id> 
     <executions> 
       <execution> 
       <goals> 
        <goal> 
        org.apache.axis2:axis2-wsdl2code-maven-plugin:wsdl2code 
        </goal> 
       </goals> 
       <configuration> 
        <packageName>com.foo.myservice</packageName> 
        <wsdlFile>src/main/wsdl/myservice.wsdl</wsdlFile> 
       </configuration> 
       </execution> 
      </executions> 
      </phase> 
     </phases> 
     </lifecycle> 
    </lifecycles> 

lifecycle.xml:私は私のカスタムプラグインからのWSDL2Javaプラグイン(すなわち、パッケージ名、wsdlFile)のパラメータを渡したいです。

私のMojoからカスタムライフサイクルにパラメータを送信することは可能ですか?もしそうなら、それを行う方法?事前に

おかげ

Aadhya

答えて

2

はい、これは確かに可能であり、次のように@paramでXMLパラメータと同じ名前で静的フィールドに注釈を付けることによって実現されています

/** 
* Package name - this is injected from the 'packageName' xml element 
* @parameter 
*/ 
private static String packageName; 

/** 
* WSDL File Location, populated from the 'wsdlFile' xml element 
* @parameter 
*/ 
private static String wsdlFile; 

public void execute() throws MojoExecutionException, MojoFailureException { 
    //do stuff here with packageName and wsdlFile. 
} 

PS:Checkstyleは@goalと@parameterに問題があります。このクラスでは// CSOFF:TreeWalkerを使用してチェックスタイルをオフにしなければなりませんでした。

関連する問題