Apache IVY 到 Maven:排除工件的错误?
Posted
技术标签:
【中文标题】Apache IVY 到 Maven:排除工件的错误?【英文标题】:Apache IVY to Maven : Bug Excluding Artifacts? 【发布时间】:2014-11-27 16:21:26 【问题描述】:我认为当游览工件集时,从常春藤转换为 maven“makepom”时存在错误:
例如这个IVY xml:
<dependency org="org.apache.xmlgraphics" name="fop" rev="1.0" transitive="true" conf="compile->master">
<exclude org="org.apache.xmlgraphics" name="batik-awt-util" />
</dependency>
这样翻译成POM
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
正如所见,不是排除工件 "batik-awt-util" ,而是排除所有工件 (*) !!!!!!
【问题讨论】:
【参考方案1】:您必须按模块排除:
<dependency org="org.apache.xmlgraphics" name="fop" rev="1.0" transitive="false" conf="compile->master">
<exclude org="org.apache.xmlgraphics" module="batik-awt-util" />
</dependency>
看看排除是如何定义的:
<exclude org="org.apache.xmlgraphics" module="batik-awt-util" />
代替:
<exclude org="org.apache.xmlgraphics" name="batik-awt-util" />
【讨论】:
尽管如此,FOP 依赖管理还是有问题。 POM 没问题....但不可能排除蜡染!我用其他库探索了相同的排除项并且工作正常......以上是关于Apache IVY 到 Maven:排除工件的错误?的主要内容,如果未能解决你的问题,请参考以下文章
如何解决模块 X 的多个工件被检索到 Apache Ivy 中的同一个文件?