Hello IDEA Developers,
I really think the current implementation (build 977) of modules is confusing. Using modules with the existing notion of project and application level libraries is mixing new and old paradigms. It's not working very well.
My recommendation would be that you go forward with modules and drop project/application libraries. Modules are the way to go. Modules should contain source code and resources and optionally share those with other modules. I like the fact that there would special modules like Web and EJB modules. This is what other IDEs are doing that have been in the J2EE space for sometime.
1. Allow modules to export (make visible) their *.zip and *.jar files to other modules which are dependent.
- This allows resource only modules to be developed
2. Remove the use of "Project" and "Application" libraries.
- Mostly an old way of thinking about dependencies
- Modules take care of this now and are cleaner way of dealing with dependencies
- Modules provide one way to think of code and resources - much cleaner
3. Allow *.iml files to live in the module directory they represent.
- Often IDEA modules are the same as CVS modules
- Want to check *.iml file into CVS with the module contents
- Better abstraction for "jdkName" variable, ie. use a IDEA variable $JDK_NAME
- Multiple IDEA projects can then reference the same *.iml file
4. Why must there be a module with the same name as the project. Is this still a bug?
- Tracker issue 19659 (still open)
- Delete it and it comes back
- Must set compiler and output path or project cannot compile, even though it has no source
I have submitted tracker items on #1 and #3 but I wanted to take the time to put these thoughts together in one coherent message. IDEA is a superb tool when working with code. However, a tool like Eclipse is leading in their use of modules (what they call projects). This is an especially strong feature in Eclipse. IDEA needs a clean module implementation to catchup.