Sorry I don't understand very well. Shouldn't maven pick up persistence.xml either specified in the src/main/resources/META-INF or src/test/resources/META-INF? Or what command I need spcify so that when executing `mvn test', maven will pick up persistence.xml that is copied to target/test-classes?
Thanks for your help. I appreciate it. --- On Wed, 12/8/09, Brian Fox <bri...@infinity.nu> wrote: > From: Brian Fox <bri...@infinity.nu> > Subject: Re: persistence unit can not be found during test > To: "Maven Users List" <users@maven.apache.org> > Date: Wednesday, 12 August, 2009, 7:44 PM > your resources will be copied to > /target/test-classes/ so use that, or > better, load it from the classpath, then you aren't path > dependent. > > On Wed, Aug 12, 2009 at 3:19 PM, Neo > Anderson<javadeveloper...@yahoo.co.uk> > wrote: > > 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: users-unsubscr...@maven.apache.org > > For additional commands, e-mail: users-h...@maven.apache.org > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org