Ja, Sie werden wahrscheinlich ein weiteres Glas oder hinzufügen müssen Abhängigkeit
ist Teil der Java Persistence API (JPA). Es ist nur eine API, man kann sie sich ähnlich wie eine Schnittstelle vorstellen. Es gibt viele Implementierungen von JPA und diese answer gibt eine sehr gute Ausarbeitung von jedem, sowie welche zu verwenden.
Wenn Ihr Import nicht aufgelöst werden kann, müssen Sie das JAR angeben, das JPA implementiert. Sie können das entweder tun, indem Sie es manuell herunterladen (und es zu Ihrem Projekt hinzufügen) oder indem Sie eine Deklaration zu einem Abhängigkeitsverwaltungstool hinzufügen (z. B. Ivy/Maven/Gradle). Siehe here für die EclipseLink-Implementierung (die Referenzimplementierung) in Maven Repo.
Danach sollten Ihre Importe aufgelöst werden.
Siehe auch here für was ist JPA über. Das XML, auf das Sie sich beziehen, könnte persistence.xml
sein, was auf Seite 3 des Links erklärt wird.
aber sagen, dass können Sie nur an die falsche Ziellaufzeit werden zeigen
Wenn ich mich richtig erinnere, brauchen Sie nicht eine JPA-Implementierung zur Verfügung zu stellen, wenn Sie es in ein JavaEE Applikationsserver bereitstellen wie JBoss. Siehe here "Beachten Sie, dass Sie es normalerweise nicht benötigen, wenn Sie Ihre Anwendung auf einem Java EE 6-Anwendungsserver (wie zum Beispiel JBoss AS 6) bereitstellen." Versuchen Sie, die Ziellaufzeit Ihres Projekts zu ändern.
Wenn Ihr lokales Projekt so eingerichtet wurde, dass es auf Tomcat verweist, während Ihr Remote-Repo einen JavaEE-Server voraussetzt, könnte dies der Fall sein. Den Unterschied zwischen Tomcat und JBoss finden Sie unter here.
Edit: Ich habe mein Projekt so geändert, dass es auf GlassFish anstelle von Tomcat und javax.persistence.*
ohne eine explizite JPA-Abhängigkeit zeigt.
Sie benötigen in der Tat eine JAR-Datei mit der JPA-API. Aber noch wichtiger, Sie benötigen eine Implementierung dieser JPA-Schnittstellen (Hibernate, EclipseLink, OPenJPA usw.). Ehrlich gesagt ist der Versuch, JPA zu verwenden, ohne zu wissen, was es ist und welche Implementierung gewählt wurde, ein sicherer Weg zum Desaster. Wenn Sie Code erben, sollte er zumindest einen Build-Prozess enthalten. –
hmm ... nun, ich stimme zu. – Matt
Interessant @JB Nizet, das Problem tritt bei mir in meiner Google App Engine-Integration auf und folgt den Schritt-für-Schritt-Anweisungen, was veraltet ist. Das Integrationsmodul soll gebündelt werden, damit die Android App nicht mit den Details umgehen muss. JPA wird nicht erwähnt und es wird erwähnt, dass MAVEN alle abhängigen SDK-Dateien usw. herunterladen und einbinden wird. – mobibob