【问题标题】:How to configure annotations processing in IntelliJ IDEA 14 for current project work?如何在 IntelliJ IDEA 14 中为当前项目工作配置注释处理?
【发布时间】:2015-01-29 04:39:45
【问题描述】:

项目的结构是:

  • 父项目
    • A 项目(Spring)在 pom.xml 中有项目 B 的依赖
    • B 项目(Spring MVC)在 pom.xml 中有项目 A 的依赖

在Tomcat 7中启动项目B后,出现错误:

错误:java:模块周期不支持注释处理。 请确保从循环 [A,B] 中排除所有模块 注释处理

如何避免这个问题?

我使用 Java 8、Tomcat 7 和 Intellij Idea 14。

【问题讨论】:

  • 对我来说,IntelliJ IDEA 似乎并不了解测试范围,认为它是一个循环依赖。示例:B->A 和 A[test]->B,当然还有 A[test]->A。这里没有循环依赖。
  • 打开了一个缺陷 - youtrack.jetbrains.com/issue/IDEA-159568.
  • 一年零三个月后,缺陷仍然存在。测试是 IDEA 中的二等公民吗?

标签: java spring maven spring-mvc intellij-idea


【解决方案1】:

如果循环依赖是错误的,那么打开模块设置并将它从不应该有它的模块中删除。

如果依赖正确,则取消选中File | Settings | Build, Execution, Deployment | Compiler | Annotation Processors 中的Enable annotation processing

【讨论】:

    【解决方案2】:

    要解决这类问题需要使用 InteliJ-idea 中的分析模块依赖项。

    文件菜单 > 分析 > 模块依赖

    这显示了所有具有循环依赖关系并应首先解决的项目的列表。

    此功能可帮助您找到问题。

    EDIT – 对于最新版本,Analyze -> Analyze Module Dependencies..

    【讨论】:

    • 仅供参考,在最近的 InteliJ IDEA 版本(例如 2017.x)中尝试:Analyze > Analyze Module Dependencies..,
    • 这是分析依赖关系的正确方法。 @codepleb 下面的回答对于解决这个问题很有用。谢谢你们!
    • 对我来说是文件菜单 > 分析 > 分析循环依赖
    • 有人能解释一下这个错误是什么意思吗?或者修复它的逻辑是什么?
    • @PhilipRego 我同意。我要求删除我的旧答案,因为它并没有真正有助于正确的解决方案。据我了解,IntelliJ 不直接依赖 pom.xml,而是在 .idea/libraries 目录中构建了一个结构,该结构确实是从 POM 文件生成的(并在重新导入/刷新中丢失)。您可以通过模块设置修改这些,但它不会反映 POM 内容,因此仅出于 IDE 目的进行修补以使东西正常工作,但更正实际源代码或 Maven 项目结构中的设计/依赖性缺陷.请参阅下面的“选择并删除它”评论。
    【解决方案3】:

    进入 Settings->Build->Compiler->Annotation Processors 并禁用它解决了它。

    允许 Test-A 依赖于 B,即使 B 依赖于 A

    我正在使用 IntelliJ2019.1

    但很遗憾它似乎没有考虑 maven 测试范围

    【讨论】:

      【解决方案4】:

      解决这个问题的替代方法对我有用(上述答案没有)。

      从您拥有的包/项目中转到pom.xml删除导致问题的标签。 您可以在控制台中找到问题的依赖关系。

      希望对您有所帮助。 :)

      【讨论】:

        【解决方案5】:

        除了 Mikhails 的回答,这里是如何解决它

        当您看到哪些模块具有循环依赖关系时,右键单击您的项目并

        Open Module Settings -> 展开相应的模块组并选择模块 -> Dependencies -> 选择并删除它

        【讨论】:

        • 实际上并没有从 pom.xml 中删除它。
        猜你喜欢
        • 2012-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-17
        • 2016-05-22
        相关资源
        最近更新 更多