0

我刚刚用 maven 制作了我的第一个父模块项目,并成功安装了它。我可以仅通过引用父项将此项目作为依赖项添加到另一个项目中吗?我的 Eclipse IDE 抱怨它找不到.jar,但这并不奇怪,因为它被打包为父.pom。

问题: 那么是否可以添加父 (.pom) 依赖项,并免费获取所有传递依赖项,或者我必须添加 .jar 的。

额外问题: 是否也可以将依赖项添加到其他打包格式,例如战争?我真的无法弄清楚它是如何工作的,或者为什么我现在需要它。只是好奇。

免责声明: 我还在学习 maven,发现它的哲学和理论很棒。但是,似乎有很多坑和礁石突然冒出来,而且不止一次,我很难看我是否正在尝试做一些不可能的事情,或者是否在配置 IE 中存在另一个错误现在 Eclipse 说它可以'在这个特定项目中找不到我的任何 .m2 引用的依赖项。我不知道为什么,因为其他项目工作正常。换句话说,我试图通过一次检查一个区域来找到错误......

4

1 回答 1

3

答:可以,可以添加不同的类型,如 pom、test-jar 等。jar 只是默认值

奖励答案:是的,您也可以指定类型战争

Maven-Guide定义了以下类型:“目前的核心封装值为:pom、jar、maven-plugin、ejb、war、ear、rar、par。”

以下是如何包含 POM 的示例:

<dependencies>
  <dependency>
   <groupId>com.my</groupId>
   <artifactId>comm-group</artifactId>
   <type>pom</type>
  </dependency>
</dependencies>

这(comm-group 的 pom)通常用于对某些依赖项进行分组,并使用 type-pom 包含所有依赖项。

以下是有关分组的其他信息:http: //blog.sonatype.com/2009/10/maven-tips-and-tricks-grouping-dependencies/#.VFC7LR_JY8c请注意,您可以使用多态性创建类似的行为。

当我们从 Ant 迁移时,我遇到了 maven 的问题,我仍然对此有一定的担忧(如果 80% 的 SWE 应用了错误的范围、类型等,那么 maven 的优势就是如果他们只是'需要添加一个fcking jar'以及由“maven guru”领导的重构)。

但是:我可以向您保证,如果您完全通过http://maven.apache.org/pom.html,您将获得与 ANT 相比随时间推移的统计结果。

更新:我刚刚遇到了我的 pom 无法包含在远程构建服务器上的情况,而它从 Intellij Idea/Eclipse 内部构建它。在我的例子中,类型定义必须是小写的(例如“pom”而不是“POM”)。

于 2014-10-29T09:59:41.930 回答