Maven Ant 2.1.3依赖项任务不适用于类型过滤器

时间:2011-08-22 16:40:28

标签: ant maven

我正在使用Maven Ant Tasks库来自动解决依赖关系。我试图在“依赖”任务中使用“类型”过滤器。仅当我不添加“类型”过滤器时,任务才有效。即使默认值“jar”也无法解决任何依赖关系。删除类型过滤器选择大约50的所有依赖项,但我只需要4.我特别希望选择“ejb-client”依赖项。如果我手动指定我的依赖项,它可以工作。下面是两组代码。当我添加“type”时,第一个不起作用,第二个起作用。谁能帮我解决这个问题。

    <artifact:dependencies filesetId="dependency.war.lib.fileset" pomRefId="war" type="jar"/>

    <artifact:dependencies filesetId="dependency.war.lib.fileset">
        <dependency groupId="xxxx" artifactId="xxx" version="1.0.0" type="ejb-client" />
    </artifact:dependencies>

1 个答案:

答案 0 :(得分:0)

我认为您混淆了POM的文件类型和packaging类型(这是type属性引用的值)。

以下是POM reference关于依赖类型的内容:

  

对应于依赖工件的包装类型。这是默认值   罐子里虽然它通常代表文件名的扩展名   依赖性,并非总是如此。一个类型可以映射到a   不同的扩展和分类器。类型通常对应于   使用的包装,但情况并非总是如此。一些   例子是jar,ejb-client和test-jar。新类型可以定义   将扩展名设置为true的插件,因此这不是一个完整的列表。

我推测,由于您的第一行pomRefId的值为war,因此type的有效值为war,而不是jar

相关问题