質問

WSimportを使用してソースを生成する必要があります。/SRC/Main/Javaではなく、/ターゲット/生成ソース/WSImportにアクセスする必要があると思います。

問題は、WSImportが実行前に作成されたターゲットフォルダーが必要であり、失敗することです。 Mavenプラグインを使用して最初にそのdirを作成できますか?私はアリを使用してそれを行うことができますが、私はそれをPOMで保持することを好みます。

役に立ちましたか?

解決

WSimportを使用してソースを生成する必要があります。/SRC/Main/Javaではなく、/ターゲット/生成ソース/WSImportにアクセスする必要があると思います。

これは正しい仮定です。

問題は、WSImportが実行前に作成されたターゲットフォルダーが必要であり、失敗することです。 Mavenプラグインを使用して最初にそのdirを作成できますか?私はアリを使用してそれを行うことができますが、私はそれをPOMで保持することを好みます。

私はこの問題に気づかなかった(そしてそれをバグと見なすだろう、プラグインはそのようなことの世話をしなければならない)。

奇妙な部分はそれです WsImportMojo 呼び出すことによって必要なことをするようです File#mkdirs():

public void execute()
    throws MojoExecutionException
{

    // Need to build a URLClassloader since Maven removed it form the chain
    ClassLoader parent = this.getClass().getClassLoader();
    String originalSystemClasspath = this.initClassLoader( parent );

    try
    {

        sourcedestdir.mkdirs(); getDestDir()。mkdirs();
        File[] wsdls = getWSDLFiles();
        if(wsdls.length == 0 && (wsdlUrls == null || wsdlUrls.size() ==0)){
            getLog().info( "No WSDLs are found to process, Specify atleast one of the following parameters: wsdlFiles, wsdlDirectory or wsdlUrls.");
            return;
        }
        ...
     }
     ...
}

プラグインとその構成をどのように呼び出すかを示していただけますか?

他のヒント

を使用してみてください add source の目標 ヘルパープラグインを構築します:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <executions>
    <execution>
      <id>add-source</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>add-source</goal>
      </goals>
      <configuration>
        <sources>
          <source>${basedir}/target/generated/src/wsimport</source>
        </sources>
      </configuration>
    </execution>
  </executions>
</plugin>  
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top