はい、おそらく別のjarまたは依存関係を追加する必要があります
javax.persistence.*
Java Persistence API(JPA)の一部です。これは単なるAPIであり、インターフェースに似ていると考えることができます。JPAには多くの実装があり、この回答は、それぞれの非常に優れた詳細と、どちらを使用するかを示しています。
javax.persistence.*
インポートを解決できない場合は、JPAを実装するjarを提供する必要があります。これを行うには、手動でダウンロードする(そしてプロジェクトに追加する)か、依存関係管理ツール(Ivy / Maven / Gradleなど)に宣言を追加します。MavenリポジトリでのEclipseLink実装(リファレンス実装)については、こちらをご覧ください。
その後、インポートを解決する必要があります。
JPAについては、こちらも参照してください。参照しているxmlはpersistence.xml
、である可能性があります。これについては、リンクの3ページで説明されています。
そうは言っても、間違ったターゲットランタイムを指している可能性があります
正しく思い出せば、JBossなどのJavaEEアプリサーバーにJPA実装をデプロイする場合は、JPA実装を提供する必要はありません。ここを参照してください。「アプリケーションをJavaEE6アプリケーションサーバー(たとえば、JBoss AS 6など)にデプロイする場合、通常は必要ありません。」プロジェクトのターゲットランタイムを変更してみてください。
リモートリポジトリがJavaEEサーバーを想定しているときに、ローカルプロジェクトがTomcatを指すように設定されている場合は、これが当てはまる可能性があります。TomcatとJBossの違いについては、こちらをご覧ください。
編集:プロジェクトをTomcatではなくGlassFishを指すように変更し、javax.persistence.*
明示的なJPA依存関係なしで正常に解決しました。