How does the feature "Cyclic module dependencies allowed" works?

Anybody knows what does this feature means?

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!

Comment actions Permalink

I have exactly the same behavior, in r3425

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

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.

Comment actions Permalink

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


Please sign in to leave a comment.