4

マルチモジュールの Maven プロジェクトがあります。デフォルトでは、Web モジュールをビルドすると、依存するタイプ JAR のすべての兄弟モジュールが WEB-INF/lib フォルダーにコピーされます。兄弟モジュールの出力を、JAR にパッケージ化せずに WEB-INF/classes フォルダーに配置する必要があります。

より一般的な質問は、展開後に簡単に編集できるように、兄弟モジュールの構成ファイルを JAR から除外する方法ですか?

4

2 に答える 2

2

オーバーレイを使用することもできますが、その場合、兄弟はjarではなくwarタイプである必要があります。依存関係プラグインを使用してjarを解凍することもできますが、解凍するのはローカルリポジトリ内のバージョンのみであり、パッケージしたばかりのバージョンではありません。

「より一般的な」質問については、jarプラグインのexcludesタグがあります。

于 2009-03-11T15:09:37.823 に答える
2

誰かが興味を持っている場合に備えて、この解決策を見つけました。まったく同じ問題がありました。

            <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>
于 2011-07-13T08:26:01.983 に答える