Hallo *,
ich versuche mich in die Idee des Web-Development einzuarbeiten. Ich habe Tomcat 7.0.8 am laufen und das ein oder andere auf Basis von struts funktioniert auch schon mal. Jetzt wollte ich JPA mit einbinden, als standalone klappt das auch, aber in der Web-Umgebung? Ich bekomme immer eine Exception aus meiner Applikation heraus:
Nun weiß ich ja schonmal, dass er die Persistence-JAR schon gefunden hat, sonst bekomme ich eine andere Exception. Ich nehme an meine Konfiguration für JPA wird nicht geladen:
persistence.xml:
und orm.xml:
Beide Dateien liegen im WEB-INF Verzeichniss des Projektes, ich habe sie auch schon nach WEB-INF/classes geschoben und etliches ausprobiert, will aber trotzdem alles nicht.
Dabei gehe ich davon aus, dass ich die Lagerorte für die verschiedenen Dateien auch noch nicht ganz durchblickt habe. Kann hier jemand den Fehler erkennen und mir helfen?
Danke,
Stephan
ich versuche mich in die Idee des Web-Development einzuarbeiten. Ich habe Tomcat 7.0.8 am laufen und das ein oder andere auf Basis von struts funktioniert auch schon mal. Jetzt wollte ich JPA mit einbinden, als standalone klappt das auch, aber in der Web-Umgebung? Ich bekomme immer eine Exception aus meiner Applikation heraus:
Java:
javax.servlet.ServletException: javax.persistence.PersistenceException: No Persistence provider for EntityManager named testjpa
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
root cause
javax.persistence.PersistenceException: No Persistence provider for EntityManager named testjpa
javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
TestTomcat2.RegisterMailLHofcafe.isMailValid(RegisterMailLHofcafe.java:54)
TestTomcat2.RegisterMailLHofcafe.execute(RegisterMailLHofcafe.java:39)
persistence.xml:
Java:
<!--<?xml version="1.0" encoding="UTF-8" ?>-->
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="testjpa" transaction-type="RESOURCE_LOCAL">
<class>TestTomcat2.MailList</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/test" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="abcDE123" />
<!-- EclipseLink should create the database schema automatically -->
<property name="eclipselink.ddl-generation" value="create-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="database" />
</properties>
</persistence-unit>
</persistence>
Java:
<?xml version="1.0" encoding="UTF-8" ?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
version="1.0">
<description>Test register mailing list</description>
<package>TestTomcat2</package>
<entity class="TestTomcat2.RegisterMailLHofcafe" name="testjpa">
<table name="MailList"/>
<attributes>
<id name="id">
<generated-value strategy="TABLE"/>
</id>
<basic name="email">
<column name="EMAIL" length="100"/>
</basic>
<basic name="key">
<column length="255"/>
</basic>
</attributes>
</entity>
</entity-mappings>
Dabei gehe ich davon aus, dass ich die Lagerorte für die verschiedenen Dateien auch noch nicht ganz durchblickt habe. Kann hier jemand den Fehler erkennen und mir helfen?
Danke,
Stephan