会社をmaven2からmaven3にアップグレードしようとしています.1つのブロッカーは、特定のプロファイルをアクティブにすると、mavenリアクターが大量の古い依存関係情報を検索し始めるという奇妙な現象です(メモリがなくなるまで10分以上)。
範囲を持つ依存関係 (例: "[3.0,)") がある場合にそのような動作を見たことがありますが、それらすべてを一掃したと確信しています。
mvn dependency:tree と mvn help:effective-pom を使用すると、範囲の依存関係があるかどうかが表示されず、pom.xml ファイルで[、]、(または)を grep しても何も表示されないので、少し困惑しています。次にどこを突くかの瞬間。
私が話していることの例として、私のpomには、このプロファイルアクティベーションセクションがあります:
<profile>
<id>demo</id>
<activation>
<property>
<name>client</name>
<value>demo</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>client-demo</artifactId>
<version>3.32.0-SNAPSHOT</version>
</dependency>
</dependencies>
</profile>
次に、コマンドラインでこれを実行すると:
mvn -Dclient=demo jetty:run
出力は、クライアント デモ アーティファクトのこれまでに存在したすべての履歴 SNAPSHOT の pom データの何千回もの検索です。
....snip.....
Downloading:https://nexus.mycompany.com/nexus/content/groups/public/com/mycompany/client-demo/2.16.7-SNAPSHOT/client-demo-2.16.7-SNAPSHOT.pom
[WARNING] The POM for com.mycompany:client-demo:jar:2.16.7-SNAPSHOT is missing, no dependency information available
Downloading: https://nexus.mycompany.com/nexus/content/groups/public/com/mycompany/client-demo/2.16.8-SNAPSHOT/maven-metadata.xml
Downloading: https://nexus.mycompany.com/nexus/content/groups/public/com/mycompany/client-demo/2.16.8-SNAPSHOT/client-demo-2.16.8-SNAPSHOT.pom
[WARNING] The POM for com.mycompany:client-demo:jar:2.16.8-SNAPSHOT is missing, no dependency information available
Downloading: https://nexus.mycompany.com/nexus/content/groups/public/com/mycompany/client-demo/2.16.9-SNAPSHOT/maven-metadata.xml
Downloading: https://nexus.mycompany.com/nexus/content/groups/public/com/mycompany/client-demo/2.16.9-SNAPSHOT/client-demo-2.16.9-SNAPSHOT.pom
[WARNING] The POM for com.mycompany:client-demo:jar:2.16.9-SNAPSHOT is missing, no dependency information available
Downloading: https://nexus.mycompany.com/nexus/content/groups/public/com/mycompany/client-demo/2.16.10-SNAPSHOT/maven-metadata.xml
Downloading: https://nexus.mycompany.com/nexus/content/groups/public/com/mycompany/client-demo/2.16.10-SNAPSHOT/client-demo-2.16.10-SNAPSHOT.pom
....snip.....
編集:: いくつかの詳細情報。
この問題は、依存関係自体ではなく、プロファイルのアクティブ化による追加の依存関係の組み込みに純粋に関連しているようです。たとえば、プロファイルを削除して com.mycompany.client-demo-3.32.0-SNAPSHOT に直接依存すると、悪い動作は見られません。つまり、リアクターがプロファイルでアクティブ化された依存関係を処理する方法と関係があると思います...