Intellij无法解决传递依赖

时间:2019-04-30 09:54:16

标签: java macos maven intellij-idea java-8

我有一个奇怪的问题,mvn clean install -Dproject.version=1jenkins的构建进展顺利,但是当我在IDE中打开模块时,intellij感到很生气,这会影响开发。

我在intellij日志中看到以下问题

  

<<模块>>的POM无效,传递依赖项(如果有)   将不可用,请启用调试日志记录以获取更多详细信息

代码拥有丰富的版权,因此无法公开,但这是基本概述

  • fabric-common:基本模块(用于绑定整个项目的通用结构,包含所有客户端和数据库模块)-称为FC
  • 实用程序:有问题的模块(import s FC)并使用数据库模块-让调用实用程序U

现在U都是红色的,因为如果U的POM明确包含db个模块,每个模块都很高兴,那么它将找不到db的DAO。

启用了intellij上的

Auto-Import,正在maven3上进行导入,并且本地存储库也都已更新为正确的版本。

这是known issue还是其他帮助?

Intellij详细信息

enter image description here

编辑

问题建议as duplicate是特定于maven的问题,无法解决依赖关系,但就我而言,通过命令行或jenkins构建maven很好,但是IDE失败。

1 个答案:

答案 0 :(得分:1)

您可以尝试

  • 使重新启动缓存无效
  • 删除.iml.ipr文件
  • 清理Project structure(如果我没记错的话)库或工件。只需删除它们,即可通过Maven对其进行更新。
  • 运行mvn idea:idea

以任意顺序。我不记得是哪一个,但我将赌注押在.ipr / .iml上,清理Project structureInvalidate restart

编辑

这是起作用的


确保intellij在我们开始执行操作之前已打开(需要使步骤3中的缓存无效),并且您已将maven3设置为主目录(Preferences -> Build, Execution, Deploymnet -> Maven : Maven Home directory

删除所有iml,ipr,iws

cd <parent dir of project>
find project/ -type f -name "*iml*" -exec rm {} \;
find project/ -type f -name "*ipr*" -exec rm {} \;
find project/ -type f -name "*iws*" -exec rm {} \;

删除本地存储库

   cd ~/.m2
   mv repository* ~/Desktop/

::关闭intellij项目窗口(不是intellij,只是项目窗口)

::使缓存无效并重新启动(这将关闭intellij并以空白屏幕重新启动)

::一旦intellij打开,通过选择项目级别POM打开项目(这将再次重新导入本地的所有依赖项-我们在步骤4中删除的依赖项)

cd < project path >

::运行(如果可能,在intellij终端-在这里迷信)-这将更新本地intellij:

mvn -U idea:idea -Dproject.version=1.0

::右键单击特定项目Maven -> Reimport的pom.xml