Maven 2 & 3 различия в зависимости: анализ с циклом
Вот дерево зависимостей, которое я использую:
[INFO] ------------------------------------------------------------------------
[INFO] Building PA 0.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ PA ---
[INFO] myTest:PA:jar:0.0.2-SNAPSHOT
[INFO] \- PC:PC:jar:0.0.1-SNAPSHOT:compile
[INFO] \- myTest:PA:jar:0.0.1-SNAPSHOT:compile
Как видите, есть цикл:
PA > PC > PA
Используя maven 2.2.1:
mvn dependency:analyze
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - myTest:PA:jar:0.0.2-SNAPSHOT
[INFO] task-segment: [dependency:analyze]
[INFO] ------------------------------------------------------------------------
...
[INFO] No dependency problems found
Использование Maven 3.3.3:
mvn dependency:analyze
[INFO] ------------------------------------------------------------------------
[INFO] Building PA 0.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
...
[INFO] --- maven-dependency-plugin:2.8:analyze (default-cli) @ PA ---
[WARNING] Used undeclared dependencies found:
[WARNING] myTest:PA:jar:0.0.1-SNAPSHOT:compile
Анализ с использованием Maven 3 хочет, чтобы я добавил PA как зависимость от PA, к себе. Можно ли вести себя так же, как maven 2, используя maven 3?
1 ответ
Решение
Вот обходной путь, который я использую, чтобы получить тот же результат, что и Maven 2 с использованием Maven 3:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<ignoredDependencies>
<ignoredDependencie>${project.groupId}:${project.artifactId}::</ignoredDependencie>
</ignoredDependencies>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>