Comment faire pour exécuter Printemps 3.0 PetClinic dans tomcat, Hibernate soutenu JPA

OK, c'est probablement ce qui est censé être la chose la plus facile au monde, mais j'ai essayé toute la journée, et ça ne marche toujours pas.. de Toute aide est très appréciée!

EDIT: Pour la procédure correcte, veuillez voir la réponse de Pascal.

Mon mal (puisque je n'ai pas désactivé LoadTimeWeaving) procédure est laissée pour référence..:

Ce que j'ai fait:

  1. Téléchargé Tomcat 6.0.26 & Printemps 3.0.1
  2. Téléchargé PetClinic de https://src.springframework.org/svn/spring-samples/petclinic
  3. Construit & déployé petclinic.guerre. Fonctionnait bien avec défaut JDBC persistance.
  4. Édité webapps/WEB-INF/spring/applicationContext-jpa.xml et ensemble jpaVendorAdaptor de mise en veille prolongée.
  5. Édité webapps/WEB-INF/web.xml et changé context-param de applicationContext-jdbc.xml pour applicationContext-jpa.xml
  6. Tout copié dans le Printemps 3.0.1 distribution de TOMCAT_HOME/lib.
  7. Lancement de tomcat. Vu

    Causés par: java.lang.IllegalStateException: chargeur de classe [org.apache.catalina.loader.WebappClassLoader] ne fournit PAS un " addTransformer(ClassFileTransformer)' méthode. Spécifier une coutume LoadTimeWeaver ou de démarrer votre machine virtuelle Java avec le Printemps de l'agent: -javaagent:spring-agent.jar

  8. Décommenté la ligne <Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/> dans webapps/META-INF/context.xml.
  9. Même erreur. A ajouté que la ligne de TOMCAT_HOME/context.xml
  10. Déployée sans erreur. Cependant, quand je fais quelque chose, il émettra un message d'erreur indiquant

    java.lang.NoClassDefFoundError: javax/transaction/SystemException at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:39)

    11.Changer le champ d'application de javax.la transaction de test par défaut (juste supprimé test), comme suggéré par scaffman.

    12.Fonctionne très bien!! Merci!!!!

Je suppose que le problème est à (3). Ne fait la GUERRE que se construit contiennent rien de javax.transaction dans son lib répertoire?
Vous n'avez pas utiliser TopLink à 3, vous avez utilisé JDBC
Vous avez raison, j'ai corrigé le post..
J'ai vérifié le pom.xml et javax.la transaction est en test de portée.. je vais essayer de l'inclure. Merci!

OriginalL'auteur Enno Shioji | 2010-03-29