14

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

我正在将 Netbeans Platform 应用程序从 ant 迁移到 maven,因此我将版本控制存储库中的所有 jar 更改为 maven 依赖项。我在主 maven 存储库中找到了所需的工件,我在 Netbeans 的帮助下将它添加为依赖项,但它是POM类型并且被放置在Non-classpath Dependencies我不知道如何使用它,因为它没有添加到类路径等...</p>

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

先感谢您!!

编辑

这是依赖定义pom.xml

<dependency>
    <groupId>com.kitfox.svg</groupId>
    <artifactId>svg-salamander</artifactId>
    <version>1.0</version>
    <type>pom</type>
</dependency>
4

2 回答 2

16

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

理想情况下,您需要做的是具有jar默认依赖类型为的依赖项jar,您可以简单地定义依赖项,而无需在依赖项部分中添加任何type元素。

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

于 2012-10-13T14:19:09.983 回答
3

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

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

于 2012-10-13T19:49:48.247 回答