我刚刚从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 >导入。

其他回答

我通过使用正确的镜像配置更新我的settings.xml文件解决了这个问题,似乎每次导入maven模块时,intellij都会尝试从存储库下载元数据。

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

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

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

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

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

IntelliJ 2016更新:

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

我的macbook也有类似的问题,只是在pom.xml中做了一个小更改,它开始下载所有依赖项:

我的windows机器的早期依赖项如下所示:

<dependencies>
 <dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>
</dependencies>

我只是删除了<dependencies>和</dependencies>标签,它开始下载所有依赖项:

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>

我不确定它是否适合你。但对我来说很好。

谢谢

这个问题的一个可能的模式是,你没有连接到Nexus,基本上你想在离线模式下构建项目。但是当您导入项目时,Idea会尝试自动下载Maven依赖项。和失败。您在设置中设置了脱机工作复选框,但为时已晚:在首次下载尝试中已经出现故障。这里列出的两个选项都不能解决这个问题。相反,我做了以下事情:

第一个创建空Java(不是Maven)项目 选中Maven设置中的离线工作选项 将我的项目作为Maven模块添加到这个新项目中

这样就成功了。

用户设置文件指定的第一个检查路径:“设置->构建,执行,开发->构建工具-> Maven”。 该字段应该有maven的settings.xml路径。此外,settings.xml应该有正确的远程存储库路径。