我刚刚从subversion导入了一个项目到IntelliJ IDEA 11——这是一个maven项目。但是我在maven库依赖关系中有一个问题,所以我不能自动包括所有maven依赖关系- IDEA只在我打开该类时显示依赖错误/这就是我在这里得到的:

所以我想要自动添加所有依赖项-这是可能的还是我必须遍历所有类文件来识别和添加maven依赖项?!

更新:在做了一些修改之后,我发现了如何以某种方式解决我的问题。我就是这么做的:

但我认为从逻辑上讲,它不会包括和检查新的依赖关系?!在intelliJ - auto export dependencies to classpath中是否有设置区域?


当前回答

只要POM是兼容的并且所有依赖项都可用,IntelliJ就应该自动下载并将所有依赖项添加到项目的类路径中。

在将Maven项目导入IntelliJ时,通常会出现一个信息框,询问您是否想为Maven项目配置Auto-Import。这意味着如果您对POM进行了任何更改,这些更改将自动加载。

你可以打开文件>设置> Maven >导入,有一个复选框说“自动导入Maven项目”。

如果这还不起作用,那么我建议彻底清理一下,重新开始:

关闭项目窗口(和IntelliJ)并删除所有*. .Iml文件和所有。idea文件夹(每个模块应该有一个) 从命令行运行mvn clean install 将项目重新导入IntelliJ,并注意当它要求您启用自动导入时

IntelliJ 2016更新:

导入Maven项目自动设置已移动到IntelliJ首选项中的构建、执行、部署>构建工具> Maven >导入。

其他回答

在我的例子中,其中一个模块由于某种原因被忽略了。 要解决这个问题:右键单击有问题的模块并选择“取消忽略项目”。

我遇到了同样的问题,尝试了所有建议的方法,但都没有解决问题,我使用的是Intellij 13.1.3版

最后,在花了几个小时试图修复它之后,我决定尝试升级版本,并在14.1.4版本中打开项目,最终解决了这个问题。我认为这可能是前一个版本的bug。

我希望这能有所帮助!

如果其他方法都失败了,请检查本地.m2存储库中的jar文件是否确实有效且没有损坏。在我的例子中,文件还没有完全下载。

如果多次导入相同的路径,则导入Maven依赖项可能无法工作。这可能在导入现有maven项目后自动发生。我不知道为什么会发生这种情况,所以我倾向于认为这是一个bug。

例如,如果我的项目是

hibernate
  src/main
  src/test

这三条路径可以作为顶部节点导入:

hibernate
src/main
src/test

如果是这样的话,依赖关系看起来是正确的,但是除非删除多余的路径(在本例中,是src/main和src/test),否则不会使用它们。完成此操作后,刷新并单击Build > Rebuild Project。IDEA将拾取依赖项。

此问题的一个症状是,当您手动检查库时,IDEA会警告您有重复的路径(问题中的第二个屏幕截图)。

如果需要的话,有几种方法可以重新读取依赖项。如果您转到“Maven Projects”选项卡,在该选项卡的左上角有一个“Reimport All Maven Projects”图标。如果你怀疑IDEA变得困惑,你可以点击文件>无效缓存。

无效缓存为我工作:

文件>使缓存失效

检查:

清除文件系统缓存和本地历史记录 清除下载的共享索引

然后无效和重新启动