I'm hoping someone can shed some light on this. When I package my ear using maven-ear-plugin 2.7, I'm able to deploy without an issue. If I update my pom to use maven-ear-plugin v2.8, I cannot deploy the ear and I receive the error below in my Glassfish 3.1.2.2 server logs:
remote failure: Error occurred during deployment: Exception while deploying the app [mycoservicesear] : Invalid ejb jar [mycoservicesejb.jar]: it contains zero ejb. Note: 1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or message-driven bean. 2. EJB3+ entity beans (@Entity) are POJOs and please package them as library jar. 3. If the jar file contains valid EJBs which are annotated with EJB component level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please check server.log to see whether the annotations were processed properly.. Please see server.log for more details. Command deploy failed. This error is preceded by warnings such as this. [#|2012-10-23T17:33:01.374-0500|WARNING|glassfish3.1.2|global|_ThreadID=86;_ThreadName=Thread-7;|Error in annotation processing: java.lang.NoClassDefFoundError: com/myco/services/business/PersonService|#] (NOTE: Defined in mycoservicesclient) Our mycoservices project looks like this: mycoservices |-mycoservicesclient |-mycoservicescore |-mycoservicesear |-mycoservicesejb |-mycoserviceswar When I explode the resulting ears, the biggest difference I notice is in the MANIFEST.MF of the mycoservicesejb.jar. The 2.7 version has mycoservicesclient.jar and all of the other Maven dependencies listed for Class-Path. The 2.8 version has nothing listed. From what I've read in the release notes for 2.8<http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11132&version=18269>, nothing seems to point towards this kind of change. Any clarification of what's going on, and more importantly, what the right way to configure things to work on 2.8 (preferably with an explanation of why) would be greatly appreciated. Thanks, -Derek
