OK, to prawdopodobnie ma być najłatwiejsza rzecz na świecie, ale próbowałem przez cały dzień, i to wciąż nie działa .. Każda pomoc jest bardzo ceniony!Jak uruchomić Spring 3.0 PetClinic w tomcat z Hibernate wspieranym JPA
EDYTOWANIE: Aby uzyskać prawidłową procedurę, zobacz odpowiedź Pascala.
Moja niewłaściwy (ponieważ nie miałem wyłączoną LoadTimeWeaving) procedura zostaje odniesienie ..:
Co zrobiłem:
- Pobrano Tomcat 6.0.26 & Wiosna 3.0.1
- Pobierany PetClinic z https://src.springframework.org/svn/spring-samples/petclinic
- Zbudowany & wdrożony petclinic.war. Dobrze działa z domyślną trwałością JDBC.
- Edytowane aplikacje internetowe/WEB-INF/spring/applicationContext-jpa.xml i ustaw
jpaVendorAdaptor
na Hibernate. - Edytowane webapps/WEB-INF/web.xml i zmienił
context-param
z ApplicationContext-jdbc.xml do ApplicationContext-jpa.xml - Skopiowane wszystko w dystrybucji TOMCAT_HOME/lib Wiosna 3.0.1.
Uruchomiony kocur. Piła
Powodowana przez: java.lang.IllegalStateException: ClassLoader [org.apache.catalina.loader.WebappClassLoader] NIE udostępnia metody "addTransformer (ClassFileTransformer)". Określić niestandardową LoadTimeWeaver lub uruchomić maszynę wirtualną Javy środkiem sprężyny: -javaagent: wiosna-agent.jar
odkomentowane linia
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
w webapps/META-INF/context.xml.- Ten sam błąd. Dodano tę linię do TOMCAT_HOME/context.xml
Rozmieszczona bez błędów. Jednak, gdy robię coś wyda błąd mówiąc
java.lang.NoClassDefFoundError: javax/transaction/SystemException at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:39)
11.Changed zakresu javax.transaction od testu do wartości domyślnych (tylko usunięty test), jak sugeruje scaffman.
12.Runny dobrze !! Dziękuję Ci!
Zgaduję, problem jest w punkcie (3). Czy skonstruowana WAR zawiera cokolwiek z 'javax.transaction' w katalogu' lib'? – skaffman
Nie użyłeś TopLink w 3, użyłeś JDBC –
@Pascal: Masz rację, poprawiłem wpis .. –