You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Benjamin Bentmann (JIRA)" <ji...@codehaus.org> on 2009/07/14 22:39:22 UTC

[jira] Updated: (MEAR-106) Plugin includes ejb libraries twice, e.g. JBoss Seam

     [ http://jira.codehaus.org/browse/MEAR-106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benjamin Bentmann updated MEAR-106:
-----------------------------------

    Attachment: MEAR-106.zip

The attached demo project was created from your description but does not reproduce the issue.

It's possible that some other module of the EAR erroneously depends on the seam JAR with type=jar instead of type=ejb. You could run "mvn dependency:tree" on the EAR project and look out for multiple occurrences of "org.jboss.seam:jboss-seam".

> Plugin includes <type>ejb</type> libraries twice, e.g. JBoss Seam
> -----------------------------------------------------------------
>
>                 Key: MEAR-106
>                 URL: http://jira.codehaus.org/browse/MEAR-106
>             Project: Maven 2.x Ear Plugin
>          Issue Type: Bug
>            Reporter: Elias Ross
>         Attachments: MEAR-106.zip
>
>
> -- Problem --
> Same EJB library appears multiple times, causing class loading issues, especially for JBoss Seam.
> Contents of ear:
> META-INF/
> META-INF/MANIFEST.MF
> lib/
> jboss-seam-2.1.2.jar
> ...
> lib/jboss-seam-2.1.2.jar
> -- To reproduce --
> Add a dependency to the pom.xml, including JBoss Seam as an ejb type.
>         <dependency>
>             <groupId>org.jboss.seam</groupId>
>             <artifactId>jboss-seam</artifactId>
>             <type>ejb</type>
>         </dependency>
> Also include it as part of the configuration:
>             <plugin>
>                 <groupId>org.apache.maven.plugins</groupId>
>                 <artifactId>maven-ear-plugin</artifactId>
>                 <version>2.3.2</version>
>                 <configuration>
>                     <version>5</version>
>                     <ejbVersion>3.0</ejbVersion>
>                     <defaultLibBundleDir>lib</defaultLibBundleDir>
>                     <jboss>
>                         <version>4</version>
>                         <loader-repository>com.parkme:loader=${ear.name}.ear</loader-repository>
>                         <library-directory>lib</library-directory>
>                         <finalName>${ear.name}</finalName>
>                     </jboss>
>                     <modules>
> ...
>                         <ejbModule>
>                             <groupId>org.jboss.seam</groupId>
>                             <artifactId>jboss-seam</artifactId>
>                         </ejbModule>
>                     </modules>
>                 </configuration>
> Note that Seam requires this module to be deployed as an EJB module, so exclusion does NOT work.

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