2016-06-08 44 views
1

我们使用Maven 3.0.5和组装插件2.2-β-3双神器分辨率的Maven/Assembly插件

当我们到达我们得到了一个问题,在编译和组装阶段不同版本加以解决的一种传递范围依赖(我们有X版本在清单中的jar和版本Ÿ投入的tar.gz包装组件)。

问题:是否有可能在编译+程序集步骤中避免重复的工件解析,因此程序集将使用与编译解决的工件相同的工件?

UPD:看到与程序集2.6相同的问题,可能会尝试为它构建一个最小的例子。

+0

为什么使用这样一个旧版本的assembly plugin(以及maven)? –

+1

使用uptodate插件版本请参阅http://maven.apache.org/plugins/并使用这些版本...如果您还有其他问题,请在用户列表上发送邮件,或者如果您认为发现错误请在jira中提交票。目前的版本是2.6! – khmarbaise

回答

1

您正在使用maven-assembly-plugin的一个真正旧版本,版本2.2-beta-3来自2009。从那时起

许多类似的问题已经解决了,只是提一些:

  • MASSEMBLY-448:装配不当运用depMgt和选择:用于从属套Assembly插件的依赖分辨率不与Maven依赖解析
  • MASSEMBLY-432内联存档的错误依存关系
  • MASSEMBLY-299:程序集不尊重<dependencyManagement>指令

所以,我强烈建议将其升级到至少非beta版本,发布2.2

Maven的更新版本和程序集插件的较新版本将是理想的解决方案,但它确实取决于您对这些版本的严格限制(如果有的话)。

+0

2.2也很古老...不要使用这样的旧版本。看到我上面的评论。 – khmarbaise

+0

@A。 Di Matteo感谢您的建议,看起来问题是过时的版本,所以我们会尝试更新它并再次检查。剩下的问题是 - 你知道是否有可能通过编译/汇编阶段避免重复解决? – dbf

+0

@khmarbaise我同意,正如我在回答底部所阐述的,Maven和插件应该进行升级,但我们不知道为什么这些老版本中使用(如果有真正的/硬的原因存在),因此至少裸露的最小建议,我会说不要使用测试版。然后,我们绝对保持一致,避免使用2009年发布的版本,并尝试推出新版本。 –