2015-07-20 99 views
1

我们有规定我们所有的公共依赖(a BOM file)一个POM文件,即如下输入:“导入”作用域并指定路径?

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>com.mycompany.myproduct</groupId> 
      <artifactId>external-modules-bom</artifactId> 
      <version>1.0.0</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

它可以指定POM文件系统路径,以便它不需要是存在于Maven仓库中?看来systemPath只能在使用system范围时才能使用,然后BOM不能正确导入。有没有其他方法可以做到这一点?

回答

1

如果你想使用内置的import范围,那么没有办法做到这一点,我强烈建议你的情况。

当然,您可能会发现一些第三方插件的黑客组合,可以有效地为您提供所需的内容,但我相信Maven完全是关于配置的约定,您应该更喜欢标准解决方案以保持简单并且可读。

顺便说一句,在基本的语法处理后,import作用域实际上复制和粘贴该作用域的依赖关系pom。这里的依赖关系解析是标准解决方案。

+0

我担心可能是米哈尔的情况。我更喜欢“合法”的Maven解决方案,而不是依赖于异国情调的第三方插件,因此它(出于同样的原因,你建议)。我正在考虑一个指向BOM文件的存储库定义,但我不确定这是否更好。 –

+0

恕我直言回购总是好的(除非它是'file://')。 –