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

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

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

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


当前回答

我能够通过在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>

其他回答

如果多次导入相同的路径,则导入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变得困惑,你可以点击文件>无效缓存。

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

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

这样就成功了。

重新导入maven -> close-intellij ->删除全部 -。Idea-folder ->重新打开项目-> build- > build-project/build-module-'your parent module'

当你创建一个新项目时,你只需要选择以下选项:

... 从外部模型导入项目 在现有的外部模型(Eclipse, Maven…)上创建IDEA项目结构 ...

你会发现从那里开始就很简单了。 在您的情况下,您可以关闭您的项目,并简单地创建一个新项目。选择项目的目录,该目录将覆盖它,使其成为Maven项目。

重新导入项目。如果你安装了maven插件,你可以使用这个。

右键单击项目-> Maven ->重新导入