gpt4 book ai didi

java - Intellij - Maven 依赖项同步问题

转载 作者:行者123 更新时间:2023-12-01 18:24:02 25 4
gpt4 key购买 nike

我正在使用 IntelliJ 13.5.1,但我不了解 Maven 同步机制。我们将日志记录机制从 logback 切换到 log4j。当我从 pom 中删除 logback 依赖项时,依赖项已从 Maven 中删除,但并未从项目中删除,即使我尝试重新导入 Maven 模块也是如此。换句话说,IntelliJ 正确同步新库的添加,但不同步删除。

是这个IntelliJ版本的bug吗?

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

最佳答案

IDEA 应该删除从 POM 中删除的任何依赖项,假设它们最初是通过 POM 添加的(并且仅通过 POM 添加)。如果您手动添加依赖项,它将保留下来。您可以采取以下措施来解决该问题:

1) 运行重新导入 enter image description here从 Maven 工具窗口。等待它完成(查看右下角状态栏中的进度)。然后立即运行第二次。虽然我通常不喜欢这样的答案,但有几次我看到过 IDEA 需要连续两次导入才能正确解析修改后的 POM 的情况。

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

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

enter image description here

对所有 pom 文件执行此操作。

关于java - Intellij - Maven 依赖项同步问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26846329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com