Eclipse ne pas reconnaître le contenu de persistence.xml
Im obtenir l'erreur suivante dans eclipse:
L'persistence.xml le fichier n'a pas reconnu le contenu.
Mon persistence.xml fichier fonctionne très bien dans ma demande, mais eclipse continue de me donner cette erreur. J'ai reçu cet après déplacement du fichier et mise à jour de ma configuration du projet avec m2eclipse. Je n'ai pas modifier le fichier lui-même. Quelqu'un sait comment résoudre ce problème?
persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="localDB" transaction-type="RESOURCE_LOCAL">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<class>package.Users</class>
<properties>
<!-- enable warnings for debugging -->
<property name="openjpa.Log" value="DefaultLevel=TRACE, Runtime=INFO, Tool=INFO, SQL=TRACE"/>
<!-- connection properties -->
<property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost/test"/>
<property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
<property name="openjpa.ConnectionUserName" value="root"/>
<property name="openjpa.ConnectionPassword" value=""/>
</properties>
</persistence-unit>
</persistence>
Mise à jour
Ressemble à un bug dans m2eclipse en combinaison avec jpa.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=251323
Temporairement résolu en sélectionnant l'option afficher comme un avertissement au lieu d'une erreur
- S'il vous plaît essayer de Dali 3.0.x (partie de Java EE Indigo package). Ce problème est en grande partie fixés à l'Indigo. Il reste un problème qui peut nécessiter un projet Propre... après la création du projet/de l'importation, mais vous n'avez plus besoin de modifier les métadonnées de projet pour résoudre le problème, et tous les Dali fonctionnalité devrait travailler tout simplement. S'il vous plaît commentaire ci-dessus mentionné bug si vous rencontrez des problèmes.
- projet maven mise à jour ne corrige pas pour moi - je assumer un clean est une partie de cela. la coupure de la JPA facette fait disparaître l'erreur.
Vous devez vous connecter pour publier un commentaire.
J'ai résolu le problème de la façon suivante (je suis en utilisant RAD v8.5.1):
Eu le même problème avec l'erreur
Fixé par l'édition de fichier dans eclipse, toute modification fera. Et après l'enregistrement d'erreur s'est enfui.
A fonctionné pour moi!
J'ai compris ce que le problème est là.... la JPA Facette est en supposant que le répertoire META-INF est directement sous un dossier source. Si vous utilisez un projet Maven, vous avez probablement quelque chose comme src/main/resources ou src/test/resources. Si votre persistence.xml est en vertu de ces dossiers, il va se plaindre. Si vous créez un nouveau dossier source (appelons-la "jpa") et de créer un META-INF/persistence.xml là, alors il va le trouver avec succès. (J'ai aussi eu à faire un clean/fermer/ouvrir un projet)
C'est certainement une douleur.... et je peux voir de nombreuses situations, cela ne fonctionne pas bien.
J'ai eu ce même problème dans Eclipse 3.6 (Helios). La cause était la JPA Facette a été mis à JPA Version 1.0, cependant mon persistence.xml le fichier a été la spécification JPA Version 2. J'ai donc changé la JPA Facette de la version 2.0 et le problème a disparu. (Projet --> Propriétés - > Projet Facettes --> "Configuration" déroulant --> définir cette "Minimal JPA 2.0 configuration"
Tournant cette erreur dans un message d'avertissement peut rendre le problème de s'en aller, mais il ne résoudra pas le problème sous-jacent avec l'Éclipse Dali plugin. Il signifie aussi extrêmement utile JPA Structure et JPA Détails vues ne fonctionnera pas.
Le lien proposé par l'OP et l'approche de la plupart des réponses ici sont en fait destiné à obtenir autour d'un problème où Maven veut filtrer le persistence.xml fichier et dit donc Éclipse de l'ignorer. Viable de contournement pour ce problème est expliqué ici et consiste à enlever la exclused: '**' dans le répertoire src/main/resources entrée dans le classpath dans les propriétés du projet.
Retour à l'OP question d'origine, j'ai eu exactement le même message d'erreur (qui dans et hors de lui-même vous dit que l'persistence.xml le fichier a été localisé). Pour moi la solution a été de changer la persistance de l'élément XML à partir de ce:
à ceci:
Une fois changé, l'erreur a disparu et Dali instantanément était vivante et maintenant, tout Fonctionne, tout Simplement. Espérons que cela aide quelqu'un un jour.
Le bug est réapparu pour certains Indigo (3.7) versions. Voir ici: https://bugs.eclipse.org/bugs/show_bug.cgi?id=357810
Cliquez-droit sur le projet -> Maven -> mise à Jour de la Configuration d'un Projet...
Ce pourrait détruire certains buildpath entrées et/ou le déploiement de l'assemblée, très ennuyeux, afin de le faire uniquement lors de la modification de Maven deps.
À la solution de contournement persistence.xml message jusqu'à ce que le patch est sorti, vous avez besoin de nettoyer le projet sur de nombreuses opérations que même réglage du niveau d'erreur à "ignorer" ne fonctionne pas. C'est une complète déception.
J'ai corrigé cela en allant à Projet des Propriétés de Persistance Java: et puis le "Dossier Source" dans le "méta-modèle Canonique (JPA 2.0) section": "src/generated/ressources"
Toutes les mises à jour sur ce point? C'est toujours un problème, il me semble bon? Si je crée un projet JPA, convertir de projet Maven, le message d'erreur s'affiche et je ne peux pas vous en débarrasser avec l'une des méthodes recommandées.
Modifier
Ok donc après des manœuvres de certains dossiers autour de sorte que son une réelle Maven format de répertoire, il ne fonctionne toujours pas - mais la création d'un dossier lié en vertu de
src/main/java
nommé META-INF, lié àsrc/main/resources/META-INF
il a été résolu.La création d'un projet Maven et l'ajout de la JPA facette fonctionne également, mais uniquement parce que la JPA facette ajoute le META-INF et persistence.xml fichier
src/main/java
qui je ne pense pas que c'est exactement cela.Ce problèmes se produit si vous
La solution est
Après la modification de ces paramètres,puis nettoyer votre projet.
Je suis à l'aide d'eclipse mars et avait cette même erreur exact. Ce que j'avais à faire était de 1 définir la version de jpa pour le projet de la facette.
right click project -> Properties -> Project Facets
Version du jeu de jpa 2.1 dans mon cas.Remarque:
Juste de la configuration de la jpa projet facette ne va pas supprimer l'erreur. Vous devez également configurer la plate-forme.
Ensuite, j'ai dû configurer la JPA plate-forme.
right click project -> Properties -> JPA
. Changement platoform à Hibernate 2.1 dans mon cas.Ce problème se manifeste également lorsque vous ouvrez le persistence.xml avec la Persistance de l'Éditeur XML et vous n'avez qu'une seule
Source
onglet en bas et pas les autres onglets Général, Connexion, Options, Propriétés, etc.J'ai eu le problème résolu par la création d'un "lien symbolique" dans Eclipse. Donc, ma persistence.xml fichier reste dans src/main/resources/META-INF comme Maven attend et m2eclipse exige. Cependant, dans le but de résoudre le Dali questions, créez un nouveau fichier dans le répertoire src/main/java/META-INF que des liens vers celui dans src/main/resources/META-INF. Vous faites cela en appuyant sur l'onglet "Avancé" lors de la création du nouveau fichier et de la localisation du fichier en utilisant le bouton "Parcourir...". Notez que cela ne va pas créer un fichier physique dans le répertoire META-INF, cependant, vous avez besoin du dossier lui-même afin de créer le lien.
Espère que fonctionne pour vous.
J'avais
src/main/java/META-INF/persistence.xml
fonctionne très bien dans Eclipse avec Tomcat intégré. Parce qu'il n'a pas été copié dans le Maven-construit GUERRE, je l'ai déplacé àsrc/main/resources/META-INF
.Maintenant
src/main/resources/META-INF/persistence.xml
ne validez pas.Si renommer xyz_persistence.xml il valide amende.
Si renommer persistence.xml il ne parvient pas à valider.
Lorsque ces ennuyeux des situations surviennent, je trouve souvent de nombreuses différentes "solutions" comme le mien, dont la plupart ne sont pas universellement applicables.
Donc, voici ma "solution", qui, je pense, il un hack pour contourner un bug:
Pour supprimer l'erreur "persistence.xml le fichier n'a pas reconnu le contenu" erreur, désactivez la JPA Validator:
Sélectionnez l'élément de menu Project > Propriétés > Préférences > Validation
Désactiver la JPA Validateur pour à la fois Manuel de validation et de Construire de validation.
Vous pourriez avoir besoin pour nettoyer et reconstruire. Votre kilométrage peut varier.
Pas Besoin de changer andthing dans votre fichier xml, et pas besoin d'ajouter de xml dans le dossier src. Mettre votre persistance.xml fichier dans le répertoire META-INF et puis mettre des META-INF src/main/dossier de ressources.
Essayez la méthode suivante:
Clic droit sur
project> Java Build path > Source Tab > ProjectName/src/main/resource > set Included(All) and Excluded(None).
puis nettoyer et à construire votre projet. Il va travailler pour vous. Essayé cette approche sur RAD 7 & 8..5 & Eclipse.Localisation dans votre structure de projet, le fichier est-il situé?
Pour la ref, j'ai la mienne dans maven-module-name/src/main/resources/META-INF/
Dur-à-dire depuis très difficile à reproduire (votre
persistence.xml
est parfaitement valide) mais peut-être tenter:clean
)J'ai eu le même problème sur quelques occasions, et ce qui a fonctionné pour moi a été de copier le contenu du fichier, le supprimer et en créer un nouveau persistence.xml fichier et coller le contenu dans.
Je suis tombé sur le même problème. Goto propriétés du projet -> Java build path -> source , supprimer */.java exclus attribut src/main/resources source. Puis ajouter META-INF/persistence.xml. Puis redémarrer eclipse. Vous devriez persistence.xml en vertu de l'accord conjoint de projet Contenu dans l'explorateur de Projets. Après cela, revenir à vos modifications.
Bien, ce que je suggère sembler stupide, mais comme par magie ça fonctionne. Par la façon dont mon eclipse version 3.6.
Le problème a été résolu dans l'Indigo (sorti en juin 2011), voir https://bugs.eclipse.org/bugs/show_bug.cgi?id=251323#c24 et https://issues.sonatype.org/browse/MECLIPSEWTP-11.
L' "persistence.xml le fichier n'a pas reconnu le contenu." erreur peut apparaître de façon aléatoire, sur le projet de l'importation ou de l'espace de travail de démarrage, mais il peut également être fixé à un projet propre ou maven du projet de mise à jour. Cela sera corrigé dans Dali dans SR2.
J'ai eu le même problème, à la faire disparaître, je devais m'assurer que cette ligne a été la première ligne en haut du fichier (avec pas de leader des lignes vides ou des espaces):
J'ai eu le même message d'erreur, mais la résoudre d'une manière différente.
Le truc, c'est que les META-INF doit être considéré comme un dossier source, et comme il a été sous /ejbModule (le mien est un projet EJB) j'ai supposé que c'était sur le chemin de génération. Et il n'était pas. En réalité, il était sur la liste des "exclure" sur le chemin de génération. Donc, je n'ai fait cliquez-droit sur le répertoire META-INF sur l'Explorateur de Projet vue et sélectionnés sur le Chemin de génération de menu. Alors j'ai demandé à Eclipse pour nettoyer le projet et tout était de nouveau à droite.
Meilleures Salutations.
J'ai eu le même problème. Ma solution: clic droit sur l'persistence.xml fichier -> JPA-Outils -> Synchroniser la Liste de Classe. Après qu'il a été résolu.
Dans mon cas, c'était le plugin Maven qui a un bug qui définit les "Exclure" de . dans le Build path de votre dossier de ressources. Retrait . le problème est réglé pour moi
Je l'ai eu fixée par le glissement de la META-INF dossier src/main/resources et de le faire glisser à nouveau à la src/test/resources. C'est tout ce qu'il a pris pour moi à résoudre le problème. J'ai essayé ci-dessus compte tenu de toutes les étapes, mais aucun de ceux qui semblent être de travailler pour moi et enfin celui-ci fait le tour.
viens de résoudre le problème en procédant comme ceci:
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_2_0.xsd"
j'ai ajouté
<?xml version="1.0" encoding="UTF-8"?>
en haut.- je nettoyer la construction du projet. l'erreur a disparu.
j'ai ajouté le "h ttp://java.soleil.com/xml/ns/persistence/" nouveau:
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
- je nettoyer la construction du projet. l'erreur n'est pas là.
j'ai supprimé
<?xml version="1.0" encoding="UTF-8"?>
en haut.- je nettoyer la construction du projet. l'erreur est toujours pas là.
espère que cela aide quelqu'un dans l'avenir.
Ok ... un autre plutôt robuste solution qui a fonctionné pour moi depuis le plus haut qui n'ont pas:
depuis que j'ai utilisé Mercurial et pourrait revenir en arrière facilement, sans différences notables dans le courant et les dernières versions, il a travaillé de cette façon:
(commis des changements importants, plutôt, non liée à ce problème)
Ce que j'ai reconnu que le problème peut être dû au fait que la Java Constructeur n'a pas à produire de mes
war/WEB-INF/classes/
fichiers. La suite n'a pas de travail de suivre ce chemin en lui permettant de construire mon projet:persistence.xml
ou de le modifier de diverses façonsqui n'ont pas l'aider, comme si certains internes de l'état ne pouvait pas être changé.
*.gwt.xml
fichier est en.