How does the feature "Cyclic module dependencies allowed" works?
Anybody knows what does this feature means?
From http://www.jetbrains.com/idea/features/newfeatures.html#prandset
it was stated:
Cyclic module dependencies allowed: Useful to break huge modules into smaller ones (for easier management and development)
However, I've tried to create a project in Idea RC1 build#3419, where two modules depends each other. However an error message
Cyclic dependencies between J2EE Modules 'poWeb' and 'poCommon' are not allowed.
Please see the attached file.
Thank you very much!
Attachment(s):
poCommon.png
poEJB.png
poWeb.png
Please sign in to leave a comment.
I have exactly the same behavior, in r3425
ok, now I understand what happen. Cyclic module dependencies are allowed between JAVA modules, but not between Web, EJB or J2EE modules (or between those and JAVA modules).
Found a workaround:
Put all the EJB sources in a JAVA module
Create one EJB module per EJB in your project, but don't assign any root (or assign an empty dir as root)
Configure each module so they're pointing to the proper deployment descriptor.
Make the EJB modules dependant of the JAVA module.
For WEB modules, make the WEB module dependant of the JAVA module.
Use Ant for packaging (haven't tried packaging using IDEA).
The EJBs are recognized as such, so all the EJB features will be enabled.
Thanks for sharing your ideas.
I'll try this.