javax.persistence.PersistenceException: No Persistence provider for EntityManager named IRCBotPU: No META-INF/persistence.xml was found in classpath.
7 Réponses :
persistance.xml code> ne doit pas être dans votre chemin de classe; Fichier jar contenant
persistance.xml code> dans son dossier Meta-Inf doit. P>
Quel est le nom du pot contenant une méta-inf / persistance.xml? Est-ce que JAR dans vos applications de classe de classe?
Non, ce n'est pas un fichier jar que j'utilise Netbeans 6.0, donc cela crée simplement le paquet Meta-Inf et à l'intérieur de la persistance.xml.
Votre fichier meta-Inf / persistence.xml doit ressembler à ceci comme suit:
// <persistence> // <persistence-unit name="IRCBotPU"> // <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider> // <!-- All persistence classes must be listed --> // <class>entity.Customer</class> // <class>entity.Order</class> // <class>entity.Item</class> // <properties> // <!-- Provider-specific connection properties --> // <property name="toplink.jdbc.driver" value="<database driver>"/> // <property name="toplink.jdbc.url" value="<database url>"/> // <property name="toplink.jdbc.user" value="<user>"/> // <property name="toplink.jdbc.password" value="<password>"/> // <!-- Provider-specific settings --> // <property name="toplink.logging.level" value="INFO"/> // </properties> // </persistence-unit> // </persistence>
L'erreur est un peu trompeuse. Le fichier XML lui-même doit être Si votre disque dur avait le suivant P> C: \ libs \ jpa \ meta-inf \ persistence.xml p> alors votre point de classe doit inclure ceci P> CLASSPATH=C:\<path to jar>\foo.jar
Mon classe de classe est définie sur la manière exacte que vous avez mentionnée ci-dessus.Mais cela ne fonctionnera toujours pas.
Le pot contient-il la mise en œuvre de "ircbotpu" dans la classe de classe?
J'ai eu le même problème, je garde mon fichier persistant.xml dans le répertoire WebContent / Meta-Inf, tandis que la spécification JPA indique:
La racine de l'unité de persistance est le répertoire Web-Inf / Classes; Le fichier persistant.xml est donc contenu dans le répertoire Web-INF / Classes / Meta-Inf B>
de
Essayez de placer persistance.xml sous SRC / Meta-Inf. P>
Dans l'éclipse après avoir travaillé pour moi: SRC / Meta-Inf / persistence.xml
J'ai une application Web et les suivantes ont fonctionné bien. Ce que j'ai fait, ajoutez le répertoire Meta-Inf avec la persistance.xml dans l'emplacement SRC / Main / Ressources [Projet Maven] P>
J'ai créé un dossier appelé Meta-Inf sous SRC et fonctionne. "Marcosbeirigo" répondit déjà. Je ne sais pas pourquoi je dois mettre cette persistance.xml là-bas. Je l'ai mis sous WebContent / Meta-Inf et je n'ai pas fonctionné p>
Parce que SRC est sur la classe de classe, c'est pourquoi cela a fonctionné.
Si vous utilisez Si vous utilisez Quelque chose d'autre n'a pas fonctionné pour moi. P> Intellij CODE> ou une structure de projet Maven, vous devez placer l'ensemble du fichier
"meta-Inf / persistence.xml" code> dans les ressources dans les ressources (SRC / Ressources) Dossier de sorte qu'il déplacerait votre
persistance.xml code> fichier dans
"web-inf / classes / persistence.xml" code> emplacement. P>
Eclipse code> ou quelque chose d'autre fait les modifications en conséquence afin de déplacer le fichier sur
web-inf / classes / persistence.xml code> p>
@OXBOW_LAKES - Vous auriez pu le résoudre :-) Je viens de le faire.