OK, questa probabilmente dovrebbe essere la cosa più semplice del mondo, ma ho provato per tutto il giorno e non funziona ancora. Qualsiasi aiuto è molto apprezzato!Come eseguire Spring 3.0 PetClinic in tomcat con Hibernate con supporto JPA
MODIFICA: Per la procedura corretta, vedere la risposta di Pascal.
My procedura sbagliata (da quando ho fatto LoadTimeWeaving non disattivato) viene lasciato come riferimento ..:
Quello che ho fatto:
- scaricato Tomcat 6.0.26 & Primavera 3.0.1
- PetClinic scaricato da https://src.springframework.org/svn/spring-samples/petclinic
- Costruito & distribuito petclinic.war. Ha funzionato bene con la persistenza JDBC predefinita.
- Webapp modificati/WEB-INF/molla/applicationContext-jpa.xml e impostare
jpaVendorAdaptor
su Hibernate. - webapps modificate/WEB-INF/web.xml e cambiato
context-param
da applicationContext-jdbc.xml a applicationContext-jpa.xml - copiato tutto nella distribuzione primavera 3.0.1 per TOMCAT_HOME/lib.
Tomcat avviato. Sega
Causato da: java.lang.IllegalStateException: ClassLoader [org.apache.catalina.loader.WebappClassLoader] NON fornisce un metodo 'addTransformer (ClassFileTransformer)'. Specificare un LoadTimeWeaver personalizzato o avviare la macchina virtuale Java con l'agente di Spring: -javaagent: spring-agent.jar
Riga non presidiata
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
in webapps/META-INF/context.xml.- Stesso errore. Aggiunta di quella riga a TOMCAT_HOME/context.xml
Distribuito senza errori. Tuttavia, quando faccio qualcosa che emetterà un errore che dice
java.lang.NoClassDefFoundError: javax/transaction/SystemException at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:39)
11.Changed ambito di javax.transaction da prova di default (test appena eliminata), come suggerito da scaffman.
12.Run bene !! Grazie!
Sto indovinando il problema è a (3). Il WAR che viene creato contiene qualcosa da 'javax.transaction' nella sua directory' lib'? – skaffman
Non hai usato TopLink a 3, hai usato JDBC –
@Pascal: hai ragione, ho corretto il post .. –