Netbeans:pom类型的maven依赖项

Uko*_*Uko 14 dependencies netbeans pom.xml maven

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

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

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

先感谢您!!

编辑

这里是依赖关系定义 pom.xml

<dependency>
    <groupId>com.kitfox.svg</groupId>
    <artifactId>svg-salamander</artifactId>
    <version>1.0</version>
    <type>pom</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)

Kal*_*dre 16

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

理想情况下,您需要具有类型为jarDefault依赖类型的依赖项,jar并且您可以简单地定义依赖项中没有任何type元素的依赖项.

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


And*_*nov 3

就我个人而言,我想不出任何需要添加pom类型依赖的情况。我通常pom对项目中的父模块使用打包(指定常见的项目配置,如插件版本、常见依赖项,例如log4j存储库、属性等)和实用程序包模块(组装项目并执行其他一些必要操作的模块) )。

从我的经验来看(我做过几次),当将项目从ant迁移到maven时,你应该将你的项目曾经依赖的所有jar文件都转换为maven依赖(groupId:artifactId:version)。很可能所有这些依赖项都不会有任何依赖项<type>(例如,是罐子)。

  • 在 Maven 书中,他们建议将常见依赖项分组到 pom 中 - http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-best-practice.html (2认同)