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:
- Téléchargé Tomcat 6.0.26 & Printemps 3.0.1
- Téléchargé PetClinic de https://src.springframework.org/svn/spring-samples/petclinic
- Construit & déployé petclinic.guerre. Fonctionnait bien avec défaut JDBC persistance.
- Édité webapps/WEB-INF/spring/applicationContext-jpa.xml et ensemble
jpaVendorAdaptor
de mise en veille prolongée. - Édité webapps/WEB-INF/web.xml et changé
context-param
de applicationContext-jdbc.xml pour applicationContext-jpa.xml - Tout copié dans le Printemps 3.0.1 distribution de TOMCAT_HOME/lib.
- 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
- Décommenté la ligne
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
dans webapps/META-INF/context.xml. - Même erreur. A ajouté que la ligne de TOMCAT_HOME/context.xml
- 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!!!!
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
Vous devez vous connecter pour publier un commentaire.
Ok, voici ce que j'ai fait:
La caisse de la petclinic exemple:
cd
dans le petclinic répertoiresrc/main/webapp/WEB-INF/spring/applicationContext-jpa.xml
à utiliser Hibernate:<context:load-time-weaver>
(les temps de charge weaver ne DEVRAIT PAS être utilisé avec Hibernate, c'est pour Toplink)jpaVendorAdapter
(commentaire de la Toplink partie, décommentez la veille prolongée partie)src/main/webapp/WEB-INF/web.xml
d'utiliser leapplicationContext-jpa.xml
Modifier le
pom.xml
de regrouper jta.jar dans la guerre (comme l'a fait remarquer @skaffman):Construire la guerre
De le déployer pour Tomcat
Parcourir
OriginalL'auteur Pascal Thivent
Ressemble à un problème avec PetClinic emballage:
http://forum.springsource.org/showthread.php?t=85042
et
http://jira.springframework.org/browse/SPR-6880
Il y a fixer là pour la
pom.xml
Ça fonctionne très bien! Merci!!
Désolé, je souhaite que je pourrais accepter 2 réponses..
OriginalL'auteur skaffman