[ 
http://jira.codehaus.org/browse/MEAR-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=205548#action_205548
 ] 

Aleksey Shipilev edited comment on MEAR-85 at 1/7/10 9:08 AM:
--------------------------------------------------------------

Is this better? I assume this does not break 1.3/1.4 behaviour but fixes 5/6:
{code}
Index: src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java     
(revision 896892)
+++ src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java     
(working copy)
@@ -60,7 +60,7 @@
      * @return an ear module for this artifact
      * @throws UnknownArtifactTypeException if the artifact is not handled
      */
-    public static EarModule newEarModule( Artifact artifact, String 
defaultLibBundleDir,
+    public static EarModule newEarModule( Artifact artifact, String version, 
String defaultLibBundleDir,
                                           Boolean includeInApplicationXml )
         throws UnknownArtifactTypeException
     {
@@ -85,7 +85,12 @@
         }
         else if ( "ejb-client".equals( artifactType ) )
         {
-            return new EjbClientModule( artifact, null );
+            // Somewhat weird way to tackle the problem described in MEAR-85
+            if (AbstractEarMojo.VERSION_1_3.equals(version) || 
AbstractEarMojo.VERSION_1_4.equals(version)) {
+                return new EjbClientModule( artifact, null );  
+            } else {
+                return new EjbClientModule( artifact, defaultLibBundleDir );
+            }
         }
         else if ( "rar".equals( artifactType ) )
         {
Index: src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java      
(revision 896892)
+++ src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java      
(working copy)
@@ -223,7 +223,7 @@
                 if ( !isArtifactRegistered( artifact, allModules ) && 
!artifact.isOptional() &&
                     filter.include( artifact ) )
                 {
-                    EarModule module = EarModuleFactory.newEarModule( 
artifact, defaultLibBundleDir,
+                    EarModule module = EarModuleFactory.newEarModule( 
artifact, version, defaultLibBundleDir,
                                                                       
includeLibInApplicationXml );
                     allModules.add( module );
                 }
{code}

      was (Author: aleksey.shipilev):
    Is this better? I assume this does not break 1.3/1.4 behaviour but fixes 
5/6:

Index: src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java     
(revision 896892)
+++ src/main/java/org/apache/maven/plugin/ear/EarModuleFactory.java     
(working copy)
@@ -60,7 +60,7 @@
      * @return an ear module for this artifact
      * @throws UnknownArtifactTypeException if the artifact is not handled
      */
-    public static EarModule newEarModule( Artifact artifact, String 
defaultLibBundleDir,
+    public static EarModule newEarModule( Artifact artifact, String version, 
String defaultLibBundleDir,
                                           Boolean includeInApplicationXml )
         throws UnknownArtifactTypeException
     {
@@ -85,7 +85,12 @@
         }
         else if ( "ejb-client".equals( artifactType ) )
         {
-            return new EjbClientModule( artifact, null );
+            // Somewhat weird way to tackle the problem described in MEAR-85
+            if (AbstractEarMojo.VERSION_1_3.equals(version) || 
AbstractEarMojo.VERSION_1_4.equals(version)) {
+                return new EjbClientModule( artifact, null );  
+            } else {
+                return new EjbClientModule( artifact, defaultLibBundleDir );
+            }
         }
         else if ( "rar".equals( artifactType ) )
         {
Index: src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java      
(revision 896892)
+++ src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java      
(working copy)
@@ -223,7 +223,7 @@
                 if ( !isArtifactRegistered( artifact, allModules ) && 
!artifact.isOptional() &&
                     filter.include( artifact ) )
                 {
-                    EarModule module = EarModuleFactory.newEarModule( 
artifact, defaultLibBundleDir,
+                    EarModule module = EarModuleFactory.newEarModule( 
artifact, version, defaultLibBundleDir,
                                                                       
includeLibInApplicationXml );
                     allModules.add( module );
                 }

  
> ejb-client dependencies should be placed in defaultLibBundleDir
> ---------------------------------------------------------------
>
>                 Key: MEAR-85
>                 URL: http://jira.codehaus.org/browse/MEAR-85
>             Project: Maven 2.x Ear Plugin
>          Issue Type: Improvement
>    Affects Versions: 2.3.1
>            Reporter: James Olsen
>            Assignee: Stephane Nicoll
>            Priority: Minor
>             Fix For: 2.5
>
>
> ejb-client jars should be placed in the defaultLibBundleDir when specified.  
> They're just standard jar dependencies not J2EE artifacts so should be 
> treated the same as other jars.  They're currently being placed in the root 
> directory.
> A workaround is to add an ejbClientModule entry to override the bundleDir:
> <modules>
>       <ejbClientModule>
>               <groupId>...</groupId>
>               <artifactId>...</artifactId>
>               <bundleDir>lib</bundleDir>
>       </ejbClientModule>
> </modules>

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