Wie zum ausführen von Spring 3.0 PetClinic in tomcat Hibernate-JPA unterstützt
OK, das ist wahrscheinlich doch die einfachste Sache der Welt, aber ich versuche schon den ganzen Tag, und es funktioniert immer noch nicht.. Jede Hilfe wird sehr geschätzt!
EDIT: Für die korrekte Vorgehensweise, siehe Pascals Antwort.
Meine falsch (da ich nicht deaktiviert LoadTimeWeaving) Verfahren für die Referenz..:
Was ich getan habe:
- Heruntergeladen Tomcat 6.0.26 & Spring 3.0.1
- Heruntergeladen PetClinic von https://src.springframework.org/svn/spring-samples/petclinic
- Gebaut & bereitgestellt petclinic.Krieg. Lief fein mit Standard-JDBC-Persistenz.
- Bearbeitet webapps/WEB-INF/spring/applicationContext-jpa.xml und setzen
jpaVendorAdaptor
zu Überwintern. - Bearbeitet webapps/WEB-INF/web.xml und geändert
context-param
aus applicationContext-jdbc.xml zu applicationContext-jpa.xml - Alles kopiert, im Frühjahr 3.0.1 Verteilung zu TOMCAT_HOME/lib.
-
Gestarteten tomcat. Sah
Verursacht durch: java.lang.IllegalStateException: ClassLoader [org.apache.catalina.loader.WebappClassLoader] NICHT ein 'addTransformer(ClassFileTransformer)' - Methode. Geben Sie eine benutzerdefinierte LoadTimeWeaver oder starten Sie Ihren Java-virtual-Maschine mit Frühlings-agent: -javaagent:spring-agent.jar
-
Auskommentierte Zeile
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
im webapps/META-INF/context.xml. - Gleichen Fehler. Hinzugefügt, die Zeile zu TOMCAT_HOME/context.xml
-
Bereitgestellt, ohne Fehler. Wenn ich jedoch etwas tun, es wird eine Fehlermeldung angezeigt
java.lang.NoClassDefFoundError: javax/transaction/SystemException at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:39)
11.Geändert Anwendungsbereich javax.Transaktion von test auf Standard (nur gelöscht, test), wie vorgeschlagen von scaffman.
12.Läuft einwandfrei!! Danke!
- Ich vermute, das problem ist bei (3). Nicht der KRIEG, der gebaut wird alles enthalten
javax.transaction
in seinerlib
- Verzeichnis? - Sie nicht mit TopLink 3, verwendet JDBC
- Du hast Recht, habe ich Fix die post..
- Ich habe in der pom.xml und javax.die Transaktion ist im test-Bereich.. ich werde versuchen, einschließlich der it. Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, hier ist was ich getan habe:
Kasse die petclinic Beispiel:
cd
in die petclinic Verzeichnissrc/main/webapp/WEB-INF/spring/applicationContext-jpa.xml
zu verwenden Hibernate:<context:load-time-weaver>
(load-time-weaver SOLLTE NICHT verwendet werden, mit Hibernate, dies ist für die Toplink)jpaVendorAdapter
(Anmerkung der Toplink Teil, kommentieren Sie die Ruhezustand-Teil)src/main/webapp/WEB-INF/web.xml
zu verwenden, dieapplicationContext-jpa.xml
Ändern Sie die
pom.xml
zu bündeln jta.jar in den Krieg (wie bereits von @skaffman):Bauen, die den Krieg
Bereitstellen, um Tomcat
Durchsuchen
Sieht aus wie ein problem mit PetClinic Verpackung:
http://forum.springsource.org/showthread.php?t=85042
und
http://jira.springframework.org/browse/SPR-6880
Es ist fix, da für die
pom.xml