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

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

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

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


当前回答

我能够通过从项目设置->模块列表中删除不必要的模块来解决这个问题。

当我从项目文件夹导入IntelliJ项目时(而不是通过打开pom.xml),这些额外的模块是由IntelliJ IDEA自动创建的。然后,在将项目声明为Maven项目之后,创建了适当的模块,现有模块与之冲突。在项目创建期间也可以排除这些模块。

其他回答

我还补充了一下对我有用的东西:

进入IDE右侧边缘的Maven Projects侧栏,验证您的依赖项是否在模块下面正确列出。假设它们是,只需让IDEA重新导入(顶部的第一个按钮,看起来像两个蓝色箭头组成一个逆时针圆圈)。

一旦我这样做了,并让IDEA为我重新加载项目,我所有的依赖关系就神奇地被理解了。

作为参考:这是与IDEA 13.1.2

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

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

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

From maven tab click + and choose pom.xml From maven tab click download sources and documentation On project structure(where you can view project files/directories) right click the project you're trying to build and choose Build Module Project Name. From tab Run- Edit Configurations with + add Application and fill the below fields: i. Main Class- Manually choose from Project tab select the main class ii. Use classpath of module - choose the application name iii. Shorten command line - classpath file Now simply run the app.

进入你的项目结构,在项目设置,模块,选择依赖表。对于每个依赖项,将范围从'Test'更改为'Compile'。