我正在使用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>
答案 0 :(得分:0)
我认为您混淆了POM的文件类型和packaging
类型(这是type
属性引用的值)。
以下是POM reference关于依赖类型的内容:
对应于依赖工件的包装类型。这是默认值 罐子里虽然它通常代表文件名的扩展名 依赖性,并非总是如此。一个类型可以映射到a 不同的扩展和分类器。类型通常对应于 使用的包装,但情况并非总是如此。一些 例子是jar,ejb-client和test-jar。新类型可以定义 将扩展名设置为true的插件,因此这不是一个完整的列表。
我推测,由于您的第一行pomRefId
的值为war
,因此type
的有效值为war
,而不是jar