Netbeans:pom类型的maven依赖项

时间:2012-10-12 23:44:07

标签: maven netbeans dependencies pom.xml

我已经花了很多时间,而且我的脑袋已经爆炸了,所以我会非常感谢任何帮助。

我正在将Netbeans平台应用程序从ant迁移到maven,因此我将我的版本控制仓库中的所有jar更改为maven依赖项。我在主maven repo中找到了所需的工件,我在Netbeans的帮助下将其添加为依赖项,但它的类型为 POM ,并且放在Non-classpath Dependencies中我没有想法如何使用它,因为它没有添加到类路径等...

有人可以解释这些 POM 依赖关系是什么以及如何使用它们?

提前谢谢!!

修改

这是pom.xml

中的依赖关系定义
<dependency>
    <groupId>com.kitfox.svg</groupId>
    <artifactId>svg-salamander</artifactId>
    <version>1.0</version>
    <type>pom</type>
</dependency>

2 个答案:

答案 0 :(得分:15)

添加pom依赖项只会降低传递依赖关系,即在pom中定义为依赖关系的jar依赖关系。由于显而易见的原因,pom没有被添加到类路径中,但是从pom可以访问的传递依赖性将被添加到类路径中。

理想情况下,您需要具有类型为jar的依赖项。默认依赖关系类型为jar,您只需在依赖项部分中定义没有任何type元素的依赖项。

如果您在Maven Cental中找到了所需的jar文件,那么您只需要为依赖项部分中的每一个提供groupId artifactId和version。

答案 1 :(得分:3)

当我需要添加pom类型依赖时,我个人无法想到任何情况。我通常在项目中使用pom包装作为父模块(指定常见项目配置,如插件版本,常见依赖项,例如log4j,例如存储库,属性等)和实用程序包模块(一个组装项目并做一些其他必要的事情。)

根据我的经验(我做过几次),当将项目从ant迁移到maven时,你应该获取项目过去依赖的所有jar文件并将它们转换为maven依赖项(groupId:artifactId:version)。最有可能所有这些依赖关系都没有<type>(例如是jars)。