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
4 comments
Comment actions Permalink

I have exactly the same behavior, in r3425

0
Comment actions Permalink

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

0
Comment actions Permalink

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.

0
Comment actions Permalink

Thanks for sharing your ideas.
I'll try this.

0

Please sign in to leave a comment.