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:

  1. Heruntergeladen Tomcat 6.0.26 & Spring 3.0.1
  2. Heruntergeladen PetClinic von https://src.springframework.org/svn/spring-samples/petclinic
  3. Gebaut & bereitgestellt petclinic.Krieg. Lief fein mit Standard-JDBC-Persistenz.
  4. Bearbeitet webapps/WEB-INF/spring/applicationContext-jpa.xml und setzen jpaVendorAdaptor zu Überwintern.
  5. Bearbeitet webapps/WEB-INF/web.xml und geändert context-param aus applicationContext-jdbc.xml zu applicationContext-jpa.xml
  6. Alles kopiert, im Frühjahr 3.0.1 Verteilung zu TOMCAT_HOME/lib.
  7. 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

  8. Auskommentierte Zeile <Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/> im webapps/META-INF/context.xml.

  9. Gleichen Fehler. Hinzugefügt, die Zeile zu TOMCAT_HOME/context.xml
  10. 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 seiner lib - 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!
InformationsquelleAutor Enno Shioji | 2010-03-29
Schreibe einen Kommentar