我的常春藤宣言是:
<dependency org="pmd" name="pmd" rec="4.2.5" conf="static-analysis->default">
<exclude module="xom|xml-apis|jdom|dom4j|xercesImpl|ant|junit"
matcher="regexp" />
</dependency>
现在我在Maven中有:
<dependency>
<groupId>pmd</groupId>
<artifactId>pmd</artifactId>
<version>4.2.5</version>
<exclusions>
<exclusion></exclusion>
</exclusions>
</dependency>
我不确定如何排除正确。我也不确定如何转换来自Ivy的conf属性。
答案 0 :(得分:1)
如果只关注依赖管理,Maven和Ivy是具有相似任务的工具,但实现方式却截然不同。
我不相信Maven支持正则表达式排除,尽管在版本3中添加了某种形式的通配符支持,请参阅MNG-3832
我的建议是尽可能采用最简单的解决方案,所以只需明确列出你不想要的依赖项:
<dependency>
<groupId>pmd</groupId>
<artifactId>pmd</artifactId>
<version>4.2.5</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>xom</artifactId>
</exclusion>
<exclusion>
<groupId>*</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>*</groupId>
<artifactId>jdom</artifactId>
</exclusion>
..
..
</exclusions>
</dependency>
配置映射非常难以翻译,因为Maven中不存在该概念。 Maven具有固定数量的“范围”,而配置通常用于模拟范围,但不受限制。对于更多背景信息,我建议