0

我以为我理解 Maven,因为我已经使用它处理了几个项目,但我似乎无法用它创建自己的项目,所以有人可以纠正我可能错的地方吗?

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

  1. 如果我向我的 POM 文件添加依赖项,假设我添加了一个可以找到该依赖项的公共存储库,IDE 不应该下载指定的 JAR 并使其在我的代码中使用它时被识别吗?目前,我的项目无法识别应通过我的 POM 依赖项在 JAR 中找到的任何类。
  2. 假设 #1 确实有效,我如何通过 maven 确定我拥有哪些瞬态依赖项?例如,我正在使用 Pentaho Data Integration 中的类,它的一些插件引用了 org.mozilla.javascript.* 之类的东西。maven 可以自动告诉我,无需我运行代码、看到它失败并手动修复依赖关系吗?这里将有数百个这样的实例,因此手动修复确实不可行。
4

2 回答 2

3

这是我的 IntelliJ 两分钱:

1 - 在项目的 pom.xml 中添加依赖项

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

2 - 看到传递依赖

它可以通过Maven 依赖关系图来实现- 不幸的是仅在 IntelliJ Ultimate 版本中。您可以使用Maven Dependencies Plugin在您喜欢的 CLI 中查看依赖关系树。

于 2013-02-25T14:38:54.183 回答
2

问题一:添加依赖

在 Eclipse 中,根据您创建项目的方式,您应该能够添加使用 maven 上下文菜单自动识别的依赖项。

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

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

将依赖项添加到 POM 后,IDE 将在您保存文件后立即开始下载它和所有临时依赖项。

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

问题 2:确定传递依赖关系

瞬态依赖在 POM 编辑器的“依赖层次”选项卡中可见。

我通常默认使用命令行,因为它在跟踪dependency graph.

很抱歉,我没有使用 IntelliJ

于 2013-02-25T14:13:05.497 回答