我正在将我的项目从Maven2(2.2.1)迁移到Maven3(3.1.0),我在jar版本上遇到了一些问题。当我试图追踪这个问题时,我从依赖插件中发现了一些不一致的结果,这让我很困惑。
当我在Maven3中尝试以下命令时:
mvn dependency:tree -Dincludes=commons-codec
结果是:
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ xxx ---
[INFO] com.xxx.yyy:zzz:war:2.6-SNAPSHOT
[INFO] \- net.sourceforge.jwebunit:jwebunit-htmlunit-plugin:jar:2.2:test
[INFO] \- net.sourceforge.htmlunit:htmlunit:jar:2.5:test
[INFO] \- commons-codec:commons-codec:jar:1.3:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
因此,结果表明将使用commons-codec-1.3.jar。(Maven3在打包时确实包含commons-codec-1.3.jar)。
但是,如果我将选项(-dverbose)添加到命令中
mvn dependency:tree -Dincludes=commons-codec -Dverbose
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ xxx ---
[INFO] com.xxx.yyy:zzz:war:2.6-SNAPSHOT
[INFO] +- net.sourceforge.jwebunit:jwebunit-htmlunit-plugin:jar:2.2:test
[INFO] | \- net.sourceforge.htmlunit:htmlunit:jar:2.5:test
[INFO] | +- commons-httpclient:commons-httpclient:jar:3.1:test
[INFO] | | \- (commons-codec:commons-codec:jar:1.2:test - omitted for conflict with 1.3)
[INFO] | \- (commons-codec:commons-codec:jar:1.3:compile - scope updated from test; omitted for duplicate)
[INFO] \- xxx.yyy.zzz.core:www-core:jar:2.6-SNAPSHOT:compile
[INFO] +- org.apache.httpcomponents:httpclient:jar:4.2.2:compile
[INFO] | \- commons-codec:commons-codec:jar:1.6:compile
[INFO] \- xxx.yyy.zzz.security:datasecurity:jar:2.0:compile
[INFO] \- (commons-codec:commons-codec:jar:1.3:compile - omitted for conflict with 1.6)
[INFO] ------------------------------------------------------------------------
Maven总是最接近匹配的依赖项,在本例中,1.2、1.3和1.6具有相同的深度级别:3。所以Maven必须选择其中一个,并选择1.6。
您可以通过直接在模块pom.xml中添加依赖项来强制给定的依赖项版本,这将使其处于第一个深度级别,并强制maven将其与您定义的版本一起使用。
此外,这对我来说很奇怪,因为它是测试依赖项(commons-httpclient:commons-httpclient:jar:3.1:test)的传递依赖项,所以永远不应该打包。
依赖 AdminLTE 依赖两个主要的框架。下载的软件包中已经包含这两个库,因此你不必手动下载它们。 Bootstrap 4 jQuery 3.3.1+ Popper.js 1.14.7+ 下面列出了所有其他插件 插件 AdminLTE 使用以下插件。相关文档,更新或许可证信息,请访问提供的链接。 你需要手动加载插件的 js/css 文件。 AdminLTE 不会自动加载所有插件,这会造成页面加载
我已经尝试重新启动我的node_dependencies并再次运行,但我不确定还可以尝试什么 编辑:我已经验证了我的node_dependencies目录和插件目录在那里。
在Java中开发Gradle插件所需要的确切依赖是什么?理想情况下,我希望从一个著名的存储库(如Maven Central或类似的存储库)获取它。 我有一个具有核心功能的Maven项目,我刚刚添加了两个额外的插件,一个用于Ant,一个用于Maven。它们已经经过测试并正在工作;放轻松!现在,我想为Gradle插件添加第三个模块,以使该功能也可从任何Gradle项目中获得。 null 如果有人能告诉
我试图从命令行显示我正在使用maven dependency插件版本3.1.2开发的项目的完整依赖关系树,但是目标(以及maven dependency插件中的任何其他目标)没有显示依赖关系。插件的文档(https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html)声明默认情况下包含所有作用域,因此不需要使用-Dsc
最近,我发现了以下问题: 当我为我的项目设置依赖项管理时,我有一个child-pom,它使用具有依赖项的插件,我想要与在我的依赖项管理中声明的依赖项同步。 在根pom中,我在依赖项管理中声明: 在子pom中,我有一个插件需要gwt-user: 但是,如果我移除gwt-maven-plugin中使用的依赖版本,编译就会失败。 是不是还有别的办法可以实现呢? PS:在maven和maven插件中有一个
War插件增加了名为providedCompile和providedRuntime的两个依赖配置.这两个配置有相同的作用域在编译或者运行时的配置,不同之处在于是否会将war文件归档.很重要的一点是它们都会提供配置传递.比如在任意的provided配置中添加了commons-httpclient:commons-httpclient:3.0,该依赖依赖于commons-codec,因为这个一个”pr