History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEADEV-5243
Type: New Feature New Feature
Status: Open Open
Priority: Normal Normal
Assignee: Nikolay Chashnikov
Reporter: David Sledge
Votes: 7
Watchers: 6
Operations

If you were logged in you would be able to see more operations.
IDEA: Development

Allow none EJB/Web modules to be added to the EAR / Application module.

Created: 31 Aug 05 19:48   Updated: 22 Oct 08 10:45
Component/s: J2EE.Deployment and Run.Generic
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: Fedora Core 4 using Sun JDK 1.5.0_04.
Issue Links:
Duplicate
 
This issue is duplicated by:
IDEA-8293 Ability to add arbitrary additional ... Resolved

Build: 3,461
Severity: Low


 Description  « Hide
We have the need to add additional archives, java modules and files to the Application module / EAR. And example would be adding a datasource config file. Other examples would be adding client.jar files for other EARs running on the application server.

The application.xml for a datasource config file would then require a line like.
<module>
<java>demo-ds.xml</java>
</module>



 All   Comments   Work Log   Change History      Sort Order:
Timothy Twelves - 01 Sep 05 15:03
Other examples are JCA resource adaptors, etc.

A more preferrable solution would be to create a generic J2EE Application Module. I am sure that there must be a wide range of module types that could be created but for you to customise IDEA for each type would be a bit tedious? It would add longterm value to have custom edit screens but in the short term we just want to get the jar + manifest built and packaged in the EAR.

You could have a collection of XSD/DTDs along with a generic file layout that could create a custom j2ee module with default xml descriptors, etc. A bit of thought would need ot be put into this but i'm sure its reasonable.

In addition, I would want to piggyback to this the inclusion of APP-INF/classes in the EAR (a weblogic feature). At the moment I cannot find a way to package anything not linked as a module into the EAR.

-Tim


Bernhard Messerer - 01 Sep 05 15:27
This issue also has the effect to make EJB3 development impossible... well, not "impossioble" but very difficult because EJB modules require DDs, .par cannot be included etc.
I know that this is still an evolving spec but I guess quite a few are working with it and while some IDEs even provide support for it, IDEA lays stones in my way...

Timothy Twelves - 01 Sep 05 15:52
At the moment you can add additional resources using the following:

Module Settings -> J2EE Application Module Settings -> Deployment Descriptors -> Add

However, resources added this way always appear off META-INF.

If you could add an additional relative location allowing { / , META-INF } to be selected it would solve the basic problem of including stuff like a directory of APP-INF. However, such a change is subtly different because you could put shared/common classes in there. In that particular usecase, you would want dependant projects to automatically include the libraries in the lib directory as part of the classpath.

That is weblogic specific.


Norris Shelton - 01 Sep 05 17:36
Timothy,
I really like your solution. Our current JBoss config (maybe it's the spec and not JBoss) require our EJB manifest to be empty. This basically means that the EJB libraries all have a packaging method of Do Not Package. Then we have to use the web module to set those libraries in the root. This means exposing those libraries to our web module via the manifest classpath. This is usually OK, unless we are using different versions of the same library.

Nikolay Chashnikov - 17 Sep 08 18:52
Starting from IDEA 8792 it's possible to package Java modules and libraries directly into EAR file (IDEADEV-25508).