マルチモジュールの Maven プロジェクトがあります。デフォルトでは、Web モジュールをビルドすると、依存するタイプ JAR のすべての兄弟モジュールが WEB-INF/lib フォルダーにコピーされます。兄弟モジュールの出力を、JAR にパッケージ化せずに WEB-INF/classes フォルダーに配置する必要があります。
より一般的な質問は、展開後に簡単に編集できるように、兄弟モジュールの構成ファイルを JAR から除外する方法ですか?
誰かが興味を持っている場合に備えて、この解決策を見つけました。まったく同じ問題がありました。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<packagingExcludes>WEB-INF/lib/MYPACKAGE_TO_EXCLUDE.jar</packagingExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-MYPACKAGE_TO_EXCLUDE</id>
<phase>compile</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>MYPACKAGE_TO_EXCLUDE</artifactId>
<version>${project.version}</version>
<type>jar</type>
<outputDirectory>${project.build.directory}/classes
</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>