[Patch] EJB module packaging is not generated correctly, and also does not 
support EJB 3.0
------------------------------------------------------------------------------------------

                 Key: MIDEA-82
                 URL: http://jira.codehaus.org/browse/MIDEA-82
             Project: Maven 2.x Idea Plugin
          Issue Type: Bug
    Affects Versions: 2.0, 2.1
         Environment: All
            Reporter: Arik Kfir
            Priority: Critical
         Attachments: MEJB-ejb3_and_ejb_deployment.patch

When the plugin generates an IML for a module of EJB packaging, IDEA's Ejb 
Module Settings section is not generated correctly. The dependencies themselves 
are generated fine, but the settings for how they are deployed is wrong.

Each EJB module in IDEA has an EJB Module Settings tab where each of the EJB 
module's dependencies is configured for deployment (link via manifest, target 
directory in the EAR, etc). Currently, the plugin specifies "WEB-INF/classes" 
as the target directory for each dependency, which is obviously wrong.

Attached is a patch which does:
1. Adds the "ideaVersion" parameter to the IdeaModuleMojo. This is needed so 
that the "name" attribute of a module is not added to it in IDEA 6.x (other 
version will receive it as before)
2. Extracts the "ejbVersion" parameter from the "maven-ejb-plugin" 
configuration in the pom (if present). If not available, defaults to "2.x" as 
before. If present and equals "3.0", will mark the ejb-jar.xml as such and make 
it optional (as the ejb spec specified).
3. Fixes EJB deployment directory for ejb modules' dependencies from 
"/WEB-INF/classes" to "/lib/<artifact-id>.jar". This is consistent with the JEE 
spec.
4. Adds the missing <url> element for each dependency of EJB modules, pointing 
to the local repo.
5. Adds a new method "getJarUrl" which accepts a File instance and returns an 
IDEA-style URL ("jar://<myjar>!/") and modified the "getLibraryUrl" method to 
use the new method. This was required for cases when you don't have an Artifact 
instance in hand.
6. In IdeaMojo, pass "ideaVersion" to the IdeaModuleMojo instance (see 1)
7. Updates IdeaModuleTest.java to accomodate new changes


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to