Thanks for the reply. I think now I figure out what goes wrong. The exception reported by the surefire is a red herring. It is indeed related to the dependency matrix issue.
Orginally my hibernate entity-manager is 3.4.0 and hibernate-annotations is 3.2.1 (I can not remember exactly its version). That would not work due to compatibility issue. Hibernate page has a compatibility matrix at https://www.hibernate.org/6.html#A3. So I change to use the following configuration that solves part of problems. <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.3.1.GA</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>3.3.2.GA</version> </dependency> Also, it requires to add <class>pkg.pathto.ClassName</class> in persistence.xml. <persistence-unit name="persistenceUnitName"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>pkg.pathto.ClassName</class><!-- here --> <properties> ... </properties> </persistence-unit> So that it will scan the class which would prevent error like Caused by: java.lang.IllegalArgumentException: Unknown entity: pkg.pathto.ClassName Thanks all your help. I really appreciate it. --- On Wed, 12/8/09, Martin Gainty <[email protected]> wrote: > From: Martin Gainty <[email protected]> > Subject: RE: persistence unit can not be found during test > To: [email protected] > Date: Wednesday, 12 August, 2009, 8:33 PM > > why not use > oracle-toplink such as this example from > /src/conf/persistence.xml > > <persistence> > <persistence-unit name="someDefinableName" > transaction-type="JTA" > > <provider>oracle.toplink.essentials.PersistenceProvider</provider> > </persistence-unit> > </persistence> > > <jta-data-source>jdbc/someDefinableName</jta-data-source> > > <mapping-file>someORMap.xml</mapping-file> > <jar-file>entities/Jar.jar</jar-file> > > <class>ejbinaction.persistence.Category</class> > <class>ejbinaction.persistence.Bid</class> > <properties> > <property > name="toplink.ddl-generation" > value="drop-and-create-tables"/> > </properties> > </persistence-unit> > </persistence> > http://www.oracle.com/technology/products/ias/toplink/JPA/essentials/toplink-jpa-extensions.html > > complete hibernate provider example is located at > http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/configuration.html > > anyone hear of a persistence provider named "jpa"? > Martin Gainty > ______________________________________________ > Verzicht und Vertraulichkeitanmerkung/Note de déni et de > confidentialité > > Diese Nachricht ist vertraulich. Sollten Sie nicht der > vorgesehene Empfaenger sein, so bitten wir hoeflich um eine > Mitteilung. Jede unbefugte Weiterleitung oder Fertigung > einer Kopie ist unzulaessig. Diese Nachricht dient lediglich > dem Austausch von Informationen und entfaltet keine > rechtliche Bindungswirkung. Aufgrund der leichten > Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer > den Inhalt uebernehmen. > Ce message est confidentiel et peut être privilégié. Si > vous n'êtes pas le destinataire prévu, nous te demandons > avec bonté que pour satisfaire informez l'expéditeur. > N'importe quelle diffusion non autorisée ou la copie de > ceci est interdite. Ce message sert à l'information > seulement et n'aura pas n'importe quel effet légalement > obligatoire. Étant donné que les email peuvent facilement > être sujets à la manipulation, nous ne pouvons accepter > aucune responsabilité pour le contenu fourni. > > > > > > Date: Wed, 12 Aug 2009 19:19:27 +0000 > > From: [email protected] > > Subject: persistence unit can not be found during > test > > To: [email protected] > > > > I encouter a problem when running maven test + jpa + > mysql. The report result always shows that `No Persistence > provider for EntityManager named jpa' (where jpa is the > persistent-unit name specified in the persistence.xml under > src/main/resources/META-INF). It looks like the test (e.g. > mvn test) can not find the persistence.xml file; however, a > tutorial I found out on the internet - > http://www.stripesbook.com/blog/index.php?/archives/34-Java-Persistence-Maven-2,-JPA,-and-Hibernate-Quickstart.html, > its source code structure is similar to mine and its test > can be executed without a problem. > > > > Where should I specify the persistence.xml path so > that the mvn test will pick up the persistence unit (I try > specify persistence.xml in test/resources/META-INF folder it > doesn't work as well)? Or where should I check that might > cause such problem? > > > > I appreciate any help. > > > > env: debian kernel 2.6.30-1/ java 1.6.0_10/ maven > 2.0.9 > > > > exception: > > > > Caused by: javax.persistence.PersistenceException: No > Persistence provider for EntityManager named jpa > > at > javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89) > > at > javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60) > > at > exmample.domain.PersistenceProvider.<clinit>(PersistenceProvider.java:35) > > ... 63 more > > > > > > PersistenceProvider.java > > > > public class PersistenceProvider{ > > > > public static final String > PERSISTENCE_UNIT_NAME = "jpa"; > > private static EntityManagerFactory > factory; > > > > static { > > try { > > > factory = > Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); > > }catch(Throwable > t) { > > > throw new > ExceptionInInitializerError(t); > > } > > } > > > > public static EntityManagerFactory > createPersistenceFactory() { > > return factory; > > } > > > > public static void close() { > > if(null == > factory) > > > throw new NullPointerException("No > EntityManagerFactory available!"); > > > factory.close(); > > } > > } > > > > persistence.xml > > > > <persistence xmlns="http://java.sun.com/xml/ns/persistence" > > xmlns:xsi="http://www.23.org/2001/XMLSchema-instance" > > xsi:schemaLocation="http://java.sun.com/ns/persistence > > http://java.sun.com/ns/persistence/persistence_1_0.xsd" > > version="1.0"> > > <persistence-unit > name="jpa"> > > > <provider>org.hibernate.ejb.HibernatePersistence</provider> > > > > > <properties> > > > <property > name="hibernate.archive.autodetection" > > > value="class, hbm"/> > > > > > <property name="hibernate.show_sql" > value="true"/> > > > <property name="hibernate.format_sql" > value="true"/> > > > > > <property name="hibernate.dialect" > > > > value="org.hibernate.dialect.MySQLDialect"/> > > > > <property > name="hibernate.connection.driver_class" > > > > value="com.mysql.jdbc.Driver"/> > > > <property > name="hibernate.connection.url" > > > > value="jdbc:mysql://localhost/demo"/> > > > > > <property > name="hibernate.connection.username" value="root"/> > > > <property > name="hibernate.connection.password" value="*****"/> > > > <!--property > name="hibernate.hbm2ddl.auto" value="create"/--> > > > </properties> > > </persistence-unit> > > </persistence> > > > > pom.xml > > > > > <dependencies> > > > > <!-- bsh --> > > <dependency> > > > <groupId>org.beanshell</groupId> > > > <artifactId>bsh</artifactId> > > > <version>2.0b4</version> > > </dependency> > > > > <!-- aspectj --> > > <dependency> > > > <groupId>aspectj</groupId> > > > <artifactId>aspectjrt</artifactId> > > > <version>1.5.4</version> > > </dependency> > > > > <!-- tapestry --> > > > <dependency> > > > <groupId>org.apache.tapestry</groupId> > > > <artifactId>tapestry-core</artifactId> > > > <version>${tapestry-release-version}</version> > > </dependency> > > > <dependency> > > > <groupId>org.apache.tapestry</groupId> > > > <artifactId>tapestry-ioc</artifactId> > > > <version>${tapestry-release-version}</version> > > </dependency> > > > <dependency> > > > <groupId>org.apache.tapestry</groupId> > > > <artifactId>tapestry5-annotations</artifactId> > > > <version>${tapestry-release-version}</version> > > </dependency> > > > > <!-- hibernate --> > > <dependency> > > > <groupId>org.hibernate</groupId> > > > <artifactId>hibernate</artifactId> > > > <version>3.2.2.ga</version> > > > <exclusions> > > > <exclusion> > > > > <artifactId>jta</artifactId> > > > > <groupId>javax.transaction</groupId> > > > </exclusion> > > > </exclusions> > > </dependency> > > <dependency> > > > <groupId>c3p0</groupId> > > > <artifactId>c3p0</artifactId> > > > <version>0.9.0</version> > > </dependency> > > <dependency> > > > <groupId>org.apache.tapestry</groupId> > > > <artifactId>tapestry-hibernate</artifactId> > > > <version>5.1.0.5</version> > > </dependency> > > <dependency> > > > <groupId>org.apache.tapestry</groupId> > > > <artifactId>tapestry-hibernate-core</artifactId> > > > <version>5.1.0.5</version> > > </dependency> > > <dependency> > > > <groupId>org.apache.geronimo.specs</groupId> > > > <artifactId>geronimo-jta_1.0.1B_spec</artifactId> > > > <version>1.1</version> > > </dependency> > > <dependency> > > > <groupId>org.hibernate</groupId> > > > <artifactId>hibernate-annotations</artifactId> > > > <version>3.2.1.ga</version> > > </dependency> > > > > <!-- mysql --> > > <dependency> > > > <groupId>mysql</groupId> > > > <artifactId>mysql-connector-java</artifactId> > > > <version>3.1.12</version> > > </dependency> > > > > <!-- junit --> > > <dependency> > > > <groupId>junit</groupId> > > > <artifactId>junit</artifactId> > > > <version>4.6</version> > > > <scope>test</scope> > > </dependency> > > > > <dependency> > > > <groupId>javax.servlet</groupId> > > > <artifactId>servlet-api</artifactId> > > > <version>2.5</version> > > > <scope>provided</scope> > > </dependency> > > </dependencies> > > > > <build> > > > <finalName>jecommerce</finalName> > > <plugins> > > > <plugin> > > > > <groupId>org.apache.maven.plugins</groupId> > > > > <artifactId>maven-compiler-plugin</artifactId> > > > <configuration> > > > > <source>1.5</source> > > > > <target>1.5</target> > > > > <optimize>true</optimize> > > > > </configuration> > > > </plugin> > > > <plugin> > > > > <groupId>org.apache.maven.plugins</groupId> > > > > <artifactId>maven-war-plugin</artifactId> > > > <configuration> > > > > <webResources> > > > > <resource> > > > > > <directory>src/main/resources/META-INF</directory> > > > > override > the destination directory for this resource > > > > > <targetPath>META-INF</targetPath> > > > > <includes> > > > > > <include>persistence.xml</include> > > > > </includes> > > > > </resource> > > > > </webResources> > > > > </configuration> > > > </plugin> > > > <plugin> > > > > <groupId>org.codehaus.mojo</groupId> > > > > <artifactId>aspectj-maven-plugin</artifactId> > > > <configuration> > > > > <source>1.5</source> > > > > <complianceLevel>1.5</complianceLevel> > > > > </configuration> > > > <executions> > > > > <execution> > > > > <goals> > > > > > <goal>compile</goal> > > > > > <goal>test-compile</goal> > > > > </goals> > > > > </execution> > > > </executions> > > > </plugin> > > > </plugins> > > </build> > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > _________________________________________________________________ > Get your vacation photos on your phone! > http://windowsliveformobile.com/en-us/photos/default.aspx?&OCID=0809TL-HM --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
