WEB-INF 中具有相同 groupId 和 ArtifactId 的多个 jar



我正在使用maven版本3.5.3,在构建我的项目时,我在我的WEB-INF(v3.1和v3.4(中获得了两个版本的apache commons-lang3,即使我在父pom.xml的">依赖管理"中明确指定了v.3.4。

两者都具有相同的 groupId 和 artifactId。

我很困惑。这是 maven 的预期行为吗?这种情况在什么情况下发生?我的印象是,如果依赖项具有相同的 groupId 和 artifactId,则 maven 将所有依赖项解析为一个 jar。

我很

困惑。这是 maven 的预期行为吗?在什么情况下 这种情况会发生吗?我的印象是,专家 如果依赖项具有相同的依赖项,则仅将所有依赖项解析为一个 jar groupId 和 artifactId。

而马文做到了。
对于相同的 groupId 和相同的工件 ID,Maven 包目标的默认行为是仅打包它们的一个版本。请注意,如果有多个版本可用,则 Maven 选择的版本并不是真正可预测的。

我想,当您的构建执行从 jar 到 WEB-INF 文件夹的手动复制(例如通过 Maven 插件(时,或者您的 pom(或父级(在 WAR 中指定了覆盖层。

mvn dependency:tree命令应帮助您了解引用或拉取不同版本的位置。

当构建在没有"干净"的情况下完成时,我多次看到这个问题,即使用package而不是clean package.在这种情况下,您可能会混合使用旧版本和最新版本。

最新更新