Maven 2 “依赖范围”;编撰;未包含在组件中

Maven 2 “依赖范围”;编撰;未包含在组件中,maven-2,scope,dependencies,maven-assembly-plugin,Maven 2,Scope,Dependencies,Maven Assembly Plugin,我在项目的POM中指定了以下依赖项: <dependency> <groupId>org.jboss.client</groupId> <artifactId>jbossall-client</artifactId> <scope>compile</scope> </dependency> 编辑2:这里是我的程序集XML的依赖项部分 <dependencySets>

我在项目的POM中指定了以下依赖项:

 <dependency>
  <groupId>org.jboss.client</groupId>
  <artifactId>jbossall-client</artifactId>
  <scope>compile</scope>
 </dependency>

编辑2:这里是我的程序集XML的依赖项部分

 <dependencySets>
  <dependencySet>
   <outputDirectory>lib</outputDirectory>
  </dependencySet>
 </dependencySets>


编辑4:有关此问题的答案,请参阅正确答案的最终注释。

两个依赖项没有相同的
groupId
,因此此处没有任何内容被覆盖,它们被视为不同的工件。但是我想知道在您的孩子pom中是如何工作的(因为
jbossall客户端
没有任何版本)。您是否有
依赖关系管理
部分

无论如何,要“调试”此类问题,请在子项目中使用
mvn dependency:tree
(如果需要更多帮助,请发布输出)


更新:以上是我对初始问题的回答,并不反映问题的当前状态

为了清楚起见,最终解决方案的关键是在程序集描述符的
依赖项集
元素中声明一个
编译
(默认为
运行时
)。有关所有详细信息,请参见注释

另见

我们也遇到了同样的问题,并通过添加第二个提供范围的dependencySet解决了这个问题,但这只在我们升级到汇编插件的2.2.1版后才起作用

当我在我的子pom中从jbossall客户端删除
标记,然后签入Eclipse->Dependency层次结构时,jbossall客户端的作用域被标记为
提供的
。因此,我假设它从其父级继承
值。我在其中一个POM中未找到任何
dependencyManagement
部分。我还能去哪里找呢?我已将
mvn dependency:tree
的输出附加到我的原始帖子中。请看上面。@BernhardV:你很可能继承了它,但不是从你认为你是的地方继承的。正如我所说,您显示的依赖项没有相同的
groupId
,正如您所看到的,您得到的是版本4.2.3,而不是4.2.2。无论如何,依赖关系树看起来很好,jbossall客户端在那里有一个编译范围。一定是什么地方出了问题。能否显示程序集描述符的内容以及获得的程序集的内容?事实上,一个允许复制的简化pom会很好。我从哪里继承了jbossall-client.jar。在我的Eclipse工作区中,我签出了父pom的旧版本,而不是在子pom中指定的版本。我已经更正了我的第一篇帖子,现在groupId是相同的。我还必须指定版本。奇怪的是,它现在包含在我的程序集中,尽管我没有提供
标记我不确定我是否应该对此感到高兴。结果是我没有在我的孩子pom中更新家长的pom版本。现在我遇到了和一开始一样的问题。在父级中提供范围,但在子级中编译范围。但似乎父级重写了子级,因为它未包含在我的程序集中:-(我现在已将我的程序集描述符和lib目录中的文件添加到我的入门文章中。
[dependency:tree]
com.myproject:myproject:jar:0.0.1-SNAPSHOT
+- com.myproject-commons:jar:1.0-SNAPSHOT:compile
|  +- commons-logging:commons-logging:jar:1.0.4:compile
|  +- log4j:log4j:jar:1.2.14:compile
|  +- sv.seucc:seucc-unicode:jar:1.0.1.5:compile
|  +- commons-lang:commons-lang:jar:2.2:compile
|  +- com.thoughtworks.xstream:xstream:jar:1.2.1:compile
|  \- xpp3:xpp3_min:jar:1.1.3.4.O:compile
+- com.myproject-interfaces2:jar:1.0-SNAPSHOT:compile
|  \- com.myproject-service-commons:jar:1.0-SNAPSHOT:compile
+- org.springframework:spring:jar:2.5.6:compile
+- commons-io:commons-io:jar:1.3.1:compile
+- com.myproject-modules:ejb:1.0-SNAPSHOT:compile
\- org.jboss.client:jbossall-client:jar:4.2.3.GA:compile
 <dependencySets>
  <dependencySet>
   <outputDirectory>lib</outputDirectory>
  </dependencySet>
 </dependencySets>
commons-io-1.3.1.jar
commons-lang-2.2.jar
commons-logging-1.0.4.jar
log4j-1.2.14.jar
seucc-unicode-1.0.1.5.jar
spring-2.5.6.jar
xpp3_min-1.1.3.4.O.jar
xstream-1.2.1.jar
myproject-commons-1.0-SNAPSHOT.jar
myproject-modules-1.0-SNAPSHOT.jar
myproject-service-commons-1.0-SNAPSHOT.jar
myproject-interfaces2-1.0-SNAPSHOT.jar
myproject-0.0.1-SNAPSHOT.jar