【发布时间】:2017-07-28 14:53:15
【问题描述】:
在 Intellij IDEA 2017.2 中,我正在尝试导入一个现有的多模块 Maven 项目,该项目通过 Maven 在 IDE 外部构建良好。导入完成后,我注意到在其中一个 Maven 子模块中,一个符号未解析,让我们将此子模块称为 submodule-problem。未解析的符号是在另一个子模块中定义的类,我们称之为 submodule-other。问题是在 submodule-problem 中,在 submodule-other 级别的其他子模块中定义的其他类都可以找到(这些子模块在 submodule-problem 的 pom 文件中定义为依赖项)。此外,submodule-other 没有在 submodule-problem 的 pom 文件中声明为依赖项。但我不应该这样做,因为正如我提到的 mvn clean install -Dmaven.test.skip=true 工作正常。 mvn test-compile 也是如此。我正在使用最新的 Maven 3.5.0,并已指示 IDEA 在项目的 Maven 设置中对上述导入的项目使用相同的版本。注意:我无权显示代码或相关 POM 文件。
到目前为止,我尝试解决的问题是:
- 多次使缓存无效并重新启动 IDEA
- 多次重新导入为 Maven 项目
- 从上述项目中删除 .idea 文件夹和所有 *.iml 文件并重新导入为 Maven 项目,几次
- 删除 IDEA 的系统首选项文件夹并重试之前的所有步骤多次(这一步很痛苦,因为我必须安装所有插件并重新配置 IDE 设置)
- 将同一个项目导入Eclipse-Oxygen,发现导入项目没有任何问题。
【问题讨论】:
-
您是否在父 pom 的
部分中声明了所有模块? -
@ggradnig 是的。所有相关模块都在父 pom 的
部分中声明。 -
你写的 submodule-other 不是 submodule-problem的直接依赖。您是否尝试将其添加为直接直接依赖项以查看这是否有效?
-
@CrazyCoder 我刚试过。同样的问题。
标签: java maven intellij-idea