1

会社のインフラストラクチャが変更されたため、Maven 2.2.1 から Maven 3.0.5 へのアップグレードが必要になりました

私のプロジェクトの構造は、いくつかのモジュールを含む 1 つの EAR です。EAR の依存関係はlib、クラスパス上にあるそのフォルダーに格納され、すべてのモジュールがそれを使用できます。複数のモジュールで使用される依存関係がある場合、スコープ内compileおよびprovidedそれを必要とするモジュールのスコープ内で EAR の依存関係として追加されます。このようにして、ファイルは二重になりません。

アップグレード後、スコープprovidedのある依存関係は別の方法で処理されます。それらの推移的な依存関係は、モジュールの lib フォルダーに追加されます。これにより、競合が発生します。

いくつかの調査の結果、提案された解決策を見つけました - maven-dependency-plugin を<excludeScope>provided</excludeScope>during<goal>copy-dependencies</goal>に設定しますが、何も変わりません -libとにかく一時的な依存関係がモジュールのフォルダに追加されます。

問題を間違って理解していますか?これを引き起こすmaven 2と3の間で何が変わったのですか?

よろしく、 ヤン

面倒なモジュールのプラグイン構成:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
            <execution>
                <id>copy-dependencies</id>
                <goals>
                    <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                    <excludeScope>provided</excludeScope>
                </configuration>
            </execution>
        </executions>
    </plugin>
4

0 に答える 0