首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Intellij - maven依赖项同步的问题

Intellij - maven依赖项同步的问题
EN

Stack Overflow用户
提问于 2014-11-10 14:45:08
回答 1查看 4K关注 0票数 1

我正在使用IntelliJ 13.5.1,我不理解maven同步机制。我们将日志机制从logback切换到log4j。当我从我的pom中删除logback依赖项时,这些依赖项被从maven中移除,而不是从项目中删除,即使我试图重新导入maven模块。换句话说,IntelliJ正确地同步了新库的添加,而不是删除。

它是这个IntelliJ版本的bug吗?

注意:当我从pom中移除依赖项时,jar仍然出现在生成的工件中(爆炸性的war)。

EN

Stack Overflow用户

回答已采纳

发布于 2014-11-10 21:15:58

IDEA应该删除从POM中删除的所有依赖项,前提是它们最初是通过POM添加的(并且只通过POM添加)。如果您手动添加了一个依赖项,它将保持不变。以下是解决这个问题的一些方法:

1)运行重新导入

从maven工具窗口。等待它完成(在右下角的状态栏中观察进度)。然后立即运行第二次。虽然我通常不喜欢这样的答案,但有几次我看到过这样的情况:要正确解析修改后的POM,需要连续进行双导入。

2)进入项目结构对话框,并在左边的“项目设置”标签下选择“库”。(不是“全局库”,而是“库”)查找不需要的依赖项。在线搜索应该有效。(注意:如果依赖项没有以"Maven:“开头,那么它不是由maven添加的)。选择并移除它。一旦它们都消失了,关闭并重新导入maven项目。看看他们会不会回来。如果是这样的话,他们就会从某个地方被拉进来。

3)您提到的运行了一个依赖树,因此这似乎表明maven没有引入依赖关系。要重复检查这一点并绝对确定,我建议您使用Maven Helper插件。从插件设置对话框安装它并重新启动IDEA。重新启动后,转到您的pom文件。在底部,您现在将有一个‘依赖分析器’选项卡。选择它。然后在顶部选择“所有依赖项”。搜索logback。如果找到了,选择它,然后在右边你会看到一个反树,它是如何拉进来的。例如,对于hamcrest,我看到以下内容,告诉我junit正在拉它。

对你所有的pom文件都这么做。

票数 5
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26846329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档