当前位置: 首页 > 知识库问答 >
问题:

Maven依赖项:列表includeParents

傅峻
2023-03-14

我对依赖项的选项“包括父母”有点困惑: Maven依赖插件的列表目标

http://maven.apache.org/plugins/maven-dependency-plugin/list-mojo.html

在我看来,pom本身的父对象似乎不包括在列表中(我指的是我们应用目标的项目pom的父对象)。是真的这样还是我犯了什么错误?如果是的话,有没有办法也获得项目的父pom?

例子:

我使用了org的pom。索纳型。插件:sisu maven插件:来自MavenCentral的1.4。它包含对父对象的引用

<parent>
   <groupId>org.sonatype.plugins</groupId>
   <artifactId>plugins-parent</artifactId>
   <version>9</version>
</parent>

但是mvn依赖的结果:list-D包容性父母=true是:

javax.inject:javax.inject:jar:1:compile
org.apache.maven:maven-artifact-manager:jar:2.0.8:compile
javax.annotation:jsr250-api:jar:1.0:compile
com.google.code.findbugs:jsr305:jar:1.3.9:compile
org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.2.0:compile
org.apache.maven:maven-model:jar:2.0.8:compile
org.apache.maven:maven-plugin-registry:jar:2.0.8:compile
org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.6:compile  
org.apache.maven:maven-project:jar:2.0.8:compile
org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-44:compile
org.apache.maven:maven-settings:jar:2.0.8:compile
aspectj:aspectjrt:jar:1.5.3:compile
junit:junit:jar:4.8.2:test
org.apache.maven:maven-repository-metadata:jar:2.0.8:compile
org.sonatype.sisu:sisu-inject-bean:jar:2.5.3:compile
com.google.guava:guava:jar:11.0.2:compile
org.apache.maven.shared:maven-common-artifact-filters:jar:1.4:compile
org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2:compile
org.apache.maven:maven-artifact:jar:2.0.8:compile
org.codehaus.plexus:plexus-utils:jar:3.0.15:compile
javax.enterprise:cdi-api:jar:1.0:compile
org.apache.maven:maven-plugin-api:jar:2.0:compile
org.apache.maven:maven-profile:jar:2.0.8:compile
org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-10:compile

共有1个答案

吕永寿
2023-03-14

Maven依赖插件的2.8版中引入了参数包含父母

在依赖项解析列表中包括父POM。[...]

  • 自:2.8

然而,您在其上启动此命令的特定Maven项目声明了插件的2.2版。我是这样追踪的:sisu-maven-plugin-1.4has as parentorg。索纳型。plugins:plugins parent:9,它本身作为父组织。索纳型。forge:forge parent:12,它最终宣布了插件的2.2版。。。Maven更愿意使用该版本,因为它直接在项目的POM中声明

请注意,您也可以在日志中发现这一点。在此项目上运行命令时,日志如下:

[INFO] Building Sisu Maven Plugin 1.4
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.2:list (default-cli) @ sisu-maven-plugin ---
[INFO]

显示版本2.2是使用的版本。

因此,您只需强制使用大于2.8的版本即可使includeParents参数生效,例如使用当前最新版本2.10:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:list -DincludeParents
 类似资料:
  • 最近,我发现了以下问题: 当我为我的项目设置依赖项管理时,我有一个child-pom,它使用具有依赖项的插件,我想要与在我的依赖项管理中声明的依赖项同步。 在根pom中,我在依赖项管理中声明: 在子pom中,我有一个插件需要gwt-user: 但是,如果我移除gwt-maven-plugin中使用的依赖版本,编译就会失败。 是不是还有别的办法可以实现呢? PS:在maven和maven插件中有一个

  • 问题:Maven在我的测试中找不到一些依赖项 在我的pom中是这样导入的。xml: 我已经试过了: mvn测试编译 使Intellij缓存无效 重启Intellij 清除. m2并重建项目

  • 我在Netbeans-8工作 我正在构建两个项目。Project1是Project2的依赖项。 如果我在两个项目中都做了更改1 我碰巧经常更改项目1。在我的IDE中使用maven之前,我习惯于构建一个依赖项目,也构建它的依赖项。我的意思是这就是构建系统中的依赖项的全部含义... 如何解决这个问题,以便project2上的“使用依赖项构建”也构建project1?

  • 我们用Maven和Tycho构建了一个Eclipse插件。然而,目前我们仍然通过一堆手动添加的JAR文件而不是Maven来提供所有的项目依赖。这是由于以下原因:(1)依赖项不能通过标准的Eclipse更新站点获得(至少不能在当前版本中获得),(2)依赖项不能作为捆绑包获得。 这些依赖项中最大的部分是Selenium库(API,远程,特定于浏览器的库及其传递依赖项,例如Guava等)。 我浪费了几个

  • 我正在将具有许多依赖项的Java项目转换为maven项目的过程中。 这些Java项目具有依赖项,这些依赖项存在于maven Central中。现在,我正在尝试将这种转换自动化到maven项目,以包含所有库作为依赖项,并生成一个maven pom.xml。 我想到了下面的方法 步骤1-从jar文件名中定位版本,如果找不到的话-在清单文件中搜索。 步骤2--从jar文件名中找到工件id--尽管可能对所

  • 我在尝试使用“create”创建WebClient实例的线路上收到一个NoClassDefFoundError。尝试了builder(),但仍然是一样的。 请告诉我添加的依赖项有什么问题,以及如何解决这个问题。 我添加的依赖项是 StackTrace: