mavenを使用して構築されたWebアプリケーション(つまり、maven-war-plugin)がある状況があります。コードを変更するたびに、手動でMavenを起動し、アプリケーションサーバーを再起動する必要がありました。ここで、ビルドサイクルのオーバーヘッドを減らすために、WTPを使用してWebアプリを公開したいと思います。
これで、Mavenを使用したリソース処理が可能になり、Webアプリを構築するときにPOMで定義された追加のMavenタスクがいくつかあります。したがって、m2eclipseは自然な解決策のようです。
Mavenビルダーがこれらのタスクを実行し、リソースを正しくフィルタリングしていることを十分に理解しました。ただし、「サーバーで実行」を選択すると、WARファイルはMavenでビルドした場合とは異なります。
これは、 M2eclipseビルダーではなく、WTPが実際にWARをビルドするためだと思います。そのため、POMでmaven-war-pluginを構成したとしても、それらの設定は使用されません。
以下は、maven-war-plugin構成のスニペットです。「webResources」で構成されているものは取得されず、次のように表示されます。
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-2</version>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<workDirectory>${project.build.directory}/work</workDirectory>
<webappDirectory>${project.build.webappDirectory}</webappDirectory>
<cacheFile>${project.build.webappDirectory}/webapp-cache.xml</cacheFile>
<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>png</nonFilteredFileExtension>
<nonFilteredFileExtension>gif</nonFilteredFileExtension>
<nonFilteredFileExtension>jsp</nonFilteredFileExtension>
</nonFilteredFileExtensions>
<webResources>
<!-- Add generated WSDL:s and XSD:s for the web service api. -->
<resource>
<directory>${project.build.directory}/jaxws/wsgen/wsdl</directory>
<targetPath>WEB-INF/wsdl</targetPath>
<filtering>false</filtering>
<includes>
<include>**/*</include>
</includes>
</resource>
</webResources>
</configuration>
これらのリソースを他の場所で処理するように再構成する必要がありますか、それともより良い解決策がありますか?