Version 1

    Hi all,

     

    Having spend lots of time on deploying a simple EJB3 application on a GlassFish server using Hibernate 3.6 as JPA, here is my feedback.

     

    For Eclipse users:

    1) Do not use maven-eclipse plugin. Prefer m2eclipse plugin, with the extensions to handle WTP.

    maven-eclipse is still unable to handle correctly a simple multiproject JAR/EJB/EAR application. m2eclipse on the other hand is quite accurate.

     

    2) Hibernate 3.6 includes annotations. When importing hibernate-entitymanager in dependecies, make sure to exclude hibernate-annotations and hibernate-commons-annotations.

     

    GlassFish specifics

    3) If like me you want to have your model seperated from the DAO, make sure to include explicitly the model module in application.xml. Maven helps you with that with the "includeInApplicationXml" property from ear plugin. Anyway, the exception thrown in case you forget is very clear.

    4) Maybe one of the less clear issues, you must have a MANIFEST file in the modules you are deploying, even simple JARs. I didn't include manually a MANIFEST in the model JAR since it is generated by Maven. Well Eclipse does not retrieve it and deploys on GlassFish without it.

     

    Hope these informations will help people deal more quickly with all these exceptions that are very tricky to decode.