Mavenで生成されたソースのフォルダーを作成する方法は?
質問
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>
所属していません StackOverflow