How to configure annotations processing in IntelliJ IDEA 14 for current project work?

The structure of the project is:

  • Parent project
    • A project (Spring) have dependency of project B in pom.xml
    • B project (Spring MVC) have dependency of project A in pom.xml

After launching project B in Tomcat 7, I have an error:

Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [A,B] are excluded from annotation processing

How do I avoid this problem?

I use Java 8, Tomcat 7 and Intellij Idea 14.


Solution 1:

To solve these kind of problems need to use Analyze Module dependencies in InteliJ-idea.

File Menu > Analyze > Module Dependencies

This shows the list of all projects which have cyclic dependencies and should be resolved first.

This feature helps you to find the problem.

EDIT – For the latest version, it is Analyze -> Analyze Module Dependencies..

Solution 2:

In addition to Mikhails answer, here is how to fix it:

When you saw which modules have cyclic dependencies, right-click your project and

Open Module Settings -> Expand the according module-group and select the module -> Dependencies -> select and remove it

Solution 3:

If the circular dependency is wrong then open Module Settings and remove it from the module(s) that should not have it.

If the dependency is correct then uncheck the Enable annotation processing box in File | Settings | Build, Execution, Deployment | Compiler | Annotation Processors

enter image description here

Solution 4:

Going into Settings->Build->Compiler->Annotation Processors and disabling it solved it.

Allowing Test-A to depend on B, even though B depends on A

I'm using IntelliJ2019.1

But it's sad it doesn't seem to consider the maven test scope