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

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

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

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


当前回答

解决方案:-

进入“file -> Settings -> maven -> maven主路径” 在那里您可以找到类似的捆绑(maven 3) 选择系统中maven文件所在的maven的适当主路径 (环境变量中给出的路径) 点击应用 刷新项目。

其他回答

修复了IntelliJ 14之前的问题

文件[菜单]->设置-> maven ->导入和取消选中“使用maven3导入项目”

参考:http://youtrack.jetbrains.com/issue/IDEA-98425(可能也有一些其他的想法)

修正IntelliJ 15+

Ran into this again, with IntelliJ 15 this time, which has no "use maven3 to import" option available anymore. The cause was that sometimes IntelliJ "doesn't parse maven dependencies right" and if it can't parse one of them right, it gives up on all of them, apparently. You can tell if this is the case by opening the maven projects tool window (View menu -> Tool Windows -> Maven Projects). Then expand one of your maven projects and its dependencies. If the dependencies are all underlined in red, "Houston, we have a problem".

通过将鼠标移到项目名称本身上,您实际上可以看到真正的失败。

在我的实例中,它显示“问题:XXX没有可用版本”或“读取工件org.xy的描述符失败”。z"参考:https://youtrack.jetbrains.com/issue/IDEA-128846 而且 https://youtrack.jetbrains.com/issue/IDEA-152555

It seems in this case I was dealing with a jar that didn't have an associated pom file (in our maven nexus repo, and also my local repository). If this is also your problem, "urrent work around: if you do not actually need to use classes from that jar in your own code (for instance a transitive maven dependency only), you can actually get away with commenting it out from the pom (temporarily), maven project reload, and then uncomment it. Somehow after that point IntelliJ "remembers" its old working dependencies. Adding a maven transitive exclude temporarily might also do it, if you're running into it from transitive chain of dependencies."

另一件可能有帮助的事情是使用maven的“更新版本”,而不是捆绑的3.0.5。 为了将其设置为默认使用,关闭所有intellij窗口,然后打开首选项->构建,执行和部署->构建工具-> maven,并更改maven主目录,当你调整这个时,它应该在顶部显示“For default project”,尽管你也可以为特定的项目调整它,只要你在调整后“重新导入”即可。

清除缓存

删除intellij缓存文件夹(windows: HOMEPATH/。{IntellijIdea,IdeaC}XXX linux ~/. ideaic15)和/或卸载并重新安装IntelliJ本身。这也可以通过去文件[菜单]->无效缓存/重新启动....单击“无效并重新启动”。这将重新索引整个项目,并用IntelliJ解决许多难以跟踪的问题。

我的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>

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

谢谢

我能够通过在pom.xml文件中的构建标记后添加这行代码来修复我的问题,我从我的运行项目中进行比较,发现这是不同的,现在我都很好。

<repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>

我遇到了同样的问题,尝试了这里提到的所有答案,没有一个有效。

简单的解决方案是到你的项目文件夹,删除所有的。idea和。iml文件,并重新启动IntelliJ ide。它的工作原理。不需要对设置做任何操作。

对于IntelliJ 2016-2.4(我相信还有其他新版本):

查看> Tool Windows > Maven项目

在新显示的工具栏中,选择Maven设置(工具集的图标)。

当这个屏幕打开时,展开Maven菜单并单击“导入”

在这里,单击“自动导入Maven项目”。还要确保“JDK for Importer”选项与您打算使用的JDK版本匹配。

单击OK。现在转到pom.xml中的红色依赖项,选择红色灯泡,然后单击“更新Maven索引”。