L'import javax.la persistance ne peut être résolue
je travaille actuellement sur un projet qui nécessite EntityManager EntityManagerFacotry et Persistence chacun de javax.paquet de persistance. Il semble être pour le service de base de données, mais le code actuel n'est pas très bien documenté. En cherchant google il semble qu'il devrait y avoir un fichier xml qui vient avec cela, mais il n'y a pas un de ceux-là non plus. Je suppose que ma question est simplement de savoir comment faire disparaître ces importations non résolues. Dois-je ajouter un autre bocal au chemin de construction? Il semble que je ne devrais pas avoir à le faire puisqu'il est autour depuis 1.5.
Toute aide est grandement appréciée.
7 réponses
hibernation-distribution-3.6.10.Final\lib\jpa: ajoutez ce pot pour résoudre le problème. Il est présent dans le dossier lib à l'intérieur que vous avez un dossier appelé jpa ---> à l'intérieur que vous avez à hibernate jpa-2.0-1.0.1.Final jar
Oui, vous aurez probablement besoin d'ajouter un autre pot ou de la dépendance
javax.persistence.*
fait partie de L'API Java Persistence (JPA). Ce N'est qu'une API, vous pouvez la considérer comme similaire à une interface. Il existe de nombreuses implémentations de JPA et ceci réponse donne une très bonne élaboration de chacun, ainsi que de l'utiliser.
Si votre javax.persistence.*
importation ne peut pas être résolu, vous aurez besoin de fournir le pot qui met en œuvre JPA. Vous pouvez le faire cela soit en le téléchargeant manuellement (et en l'ajoutant à votre projet) ou en ajoutant une déclaration à un outil de gestion de dépendances (par exemple, Ivy/Maven/Gradle). Voir ici pour L'implémentation EclipseLink (l'implémentation de référence) sur Maven repo.
après avoir fait cela, vos importations devraient être résolues.
voir Aussi ici sur quoi porte JPA. Le xml auquel vous faites référence pourrait être
cela étant dit, vous pourriez simplement pointer du doigt la mauvaise cible
si je me souviens bien, vous n'avez pas besoin de fournir une implémentation JPA si vous la déployez dans un serveur D'applications JavaEE comme JBoss. Voir ici "notez que vous n'en avez généralement pas besoin lorsque vous déployez votre application sur un serveur D'application Java EE 6 (comme JBoss AS 6 par exemple).". Essayez de changer la durée d'exécution cible de votre projet.
Si votre le projet local a été configuré pour pointer vers Tomcat alors que votre prise en charge à distance suppose un serveur JavaEE, cela pourrait être le cas. Voir ici pour la différence entre Tomcat et JBoss.
Edit: j'ai changé mon projet de point de GlassFish au lieu de Tomcat et javax.persistence.*
résolu amende sans aucune dépendance explicite JPA.
si quelqu'un utilise Maven, vous devrez ajouter la dépendance dans la POM.Fichier XML. La dernière version de ce post est ci-dessous:
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
ma solution a été de sélectionner les profils maven que j'avais définis dans ma pom.xml dans lequel j'avais déclaré les dépendances d'hibernation.
CTRL + ALT + P
dans eclipse.
dans mon projet je rencontrais ce problème et beaucoup d'autres parce que dans mon pom j'ai différents profils pour soutenir Glassfish 3, Glassfish 4 et aussi WildFly donc j'ai différentes versions D'Hibernate par conteneur ainsi que différentes cibles de compilation Java et ainsi de suite. Sélectionner le maven actif profils résolu mon problème.
si vous utilisez Hibernate comme implémentation JPA et que vous n'utilisez pas Maven / Gradle, la manière la plus simple est de télécharger le paquet entier au lieu du fichier jar un par un.
http://hibernate.org/orm/downloads/ et télécharger la dernière version de bibliothèque, d'en extraire le pot de l' required
dossier.
dans les nouveaux bocaux d'hibernation, vous pouvez trouver le fichier jpa requis sous "hibernate-search-5.8.0.Final\dist\lib\fourni\hibernate jpa-2.1-api-version 1.0.0.Final." Vous devez ajouter ce fichier jar dans le chemin de construction java de votre projet. Cela résoudra probablement le problème.
j'ai rencontré ce même problème et j'ai réalisé que, puisque j'utilise spring boot, tout ce que j'avais à faire pour résoudre le problème était d'ajouter la dépendance suivante:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>