2013-02-25 99 views
0

我以为我理解Maven是因为我已经在使用它的几个项目上工作过,但我似乎无法用它创建自己的项目,所以有人可以纠正我,无论我哪里可能出错。Maven与IDE集成

假设我创建一个新的Maven项目(我们会说我这样做是通过Eclipse或的IntelliJ):

  1. 如果我添加一个依赖于我的POM文件,假设我添加了一个公共仓库,其中该依赖关系可以找到,不应该IDE下载指定的JAR,并使它在我的代码中使用时被识别?目前,我的项目无法识别应通过我的POM依赖项在JAR中找到的任何类。
  2. 假设#1工作,我怎么能通过maven确定我有哪些瞬态相关性?例如,我使用Pentaho数据集成中的类,其中一些插件引用了org.mozilla.javascript。*之类的东西。 Maven可以自动告诉我,如果我不必运行代码,看到它失败,并手动修复依赖关系?这里会有数百个这样的实例,所以手动修复确实不可行。
+2

你在用什么IDE?在eclipse和intellij之间, – 2013-02-25 14:01:11

+0

有点不同。 Intellij更友善。 Eclipse的maven集成是侮辱性的。 – Michael 2013-02-25 14:08:47

回答

2

问题1:添加依赖

在Eclipse中,这取决于你如何创建的项目,你应该能够添加依赖正在使用maven的上下文菜单中自动识别。

请注意,您应该使用eclipse maven插件创建项目,以便它具有maven特性。

要从远程存储库添加依赖项/插件,如果您知道artifactId或groupId,则可以在生成的UI中搜索依赖项。无论是否在pom.xml中指定了回购网址,该插件都会拉起折扣。

向POM添加依赖项后,只要保存该文件,IDE就会立即开始下载它以及所有临时依赖项。

如果出现问题,您可以尝试从上下文菜单中选择“更新项目”。

问题2:确定传递依赖

短暂依赖是在POM编辑器的“依赖层次结构”选项卡中。

我通常默认使用命令行,因为它在跟踪dependency graph时允许更多的灵活性和功能。

我很抱歉,但我还没有的IntelliJ

工作
+0

@AaronDigulla感谢您的评论,不确定您希望我将它添加到答案中,或者您进行编辑? – 2013-02-25 14:44:27

+0

我编辑了你的答案:-) – 2013-02-25 14:45:20

+0

@AaronDigulla完美。谢谢 – 2013-02-25 14:46:06

3

这里是我的IntelliJ两分钱:

1 - 添加依赖于你的项目

确实应该下载的pom.xml依赖的jar(s)。您可能需要批准“导入更改”对话框,如果它弹出或启用自动导入。

2 - 眼看传递依赖

它可以通过Maven Dependencies Diagram实现 - 不幸的是只有在的IntelliJ终极版。您可以使用Maven Dependencies Plugin查看您最喜爱的CLI中的依赖关系树。