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
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