我正在运行带有Maven 3.5.4且已激活maven-dependency-plugin
的Maven构建,以分析项目的依赖关系,如果未声明依赖关系等,则失败。到目前为止,构建成功。
由于找到了未使用的未声明依赖项,因此无法在Maven 3.6+中运行相同的构建。
[WARNING] Used undeclared dependencies found:
[WARNING] jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
我很确定我没有直接使用此依赖项(因为它在Maven 3.5.4中没有失败),并且想知道为什么在地狱中插件突然认为使用了此依赖项。
是否要调试或配置插件以告诉我哪个类负责(假?)肯定结果?
我的设置:
Windows 10
JDK:采用OpenJDK 11.0.4(热点)
Maven电话:mvn clean install
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.foo</groupId>
<artifactId>foo-parent</artifactId>
<version>2020-1.0.0-snAPSHOT</version>
</parent>
<artifactId>foo-dependency-analyze</artifactId>
<packaging>jar</packaging>
<dependencies>
...
<!-- this dependency isn't used in my module directly,but is a transitive dependency
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>2.3.2</version>
</dependency>
-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>analyze</id>
<goals>
<goal>analyze-only</goal>
</goals>
<configuration>
<failOnWarning>true</failOnWarning>
<ignoreNonCompile>true</ignoreNonCompile>
<verbose>true</verbose>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>