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:排除工件的错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 maven 从 ivy 存储库下载工件

如何解决模块 X 的多个工件被检索到 Apache Ivy 中的同一个文件?

Apache IVY 错误信息? : 未加载数据时无法获取工件

Maven 范围如何通过 ivy 映射到 ivy 配置

Apache IVY 到 Maven:MakePom 任务

如何使用 Sonatype Nexus 作为 Ivy 依赖项的镜像 [重复]