wsgen を使用して、コンパイル済みのJavaクラスから [〜#〜] xsd [〜#〜] ファイルを生成するMavenプロジェクトがあります。
問題は、生成されたファイルをリソースとしてjarファイルに追加したいことです。ただし、resource
フェーズはprocess-classes
フェーズの前に実行されるため、追加できません。
Mavenにprocess-classes
フェーズで生成されたリソースを追加するように指示する方法はありますか?
XSDファイルの出力ディレクトリをtarget/classesに定義することをお勧めします(後でパッケージ段階でjarにパッケージ化される補足サブフォルダーを使用する場合があります。これは maven- resources-plugin 。
<project>
...
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-classes</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>${basedir}/target/xsd-out</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
...
</build>
...
</project>
リソースプラグインは、wsgenパーツの呼び出しに使用されるプラグインの後に配置されるように注意する必要があります。 prepare-packageフェーズを使用して、リソースが正しくパッケージ化されることを確認することもできます。