>source

Netbeans를 사용하여 OSX에서 Java로 프로젝트를 만들고 github를 사용하여 창에서 작업하는 동료와 함께 작업하고 있습니다.

프로젝트를 복제하면 이클립스로 더비 데이터베이스에 연결할 수 없음을 나타내는 오류가 발생합니다.

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named MovieDatabasePU
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
    at moviedatabase.MovieDatabase.deleteFromDB(MovieDatabase.java:126)
    at moviedatabase.MovieDatabase.main(MovieDatabase.java:48)
C:\Users\Mixalis\Documents\NetBeansProjects\Homework3\Ergasia3\nbproject\build-impl.xml:1076: The following error occurred while executing this line:
C:\Users\Mixalis\Documents\NetBeansProjects\Homework3\Ergasia3\nbproject\build-impl.xml:830: Java returned: 1
BUILD FAILED (total time: 2 seconds)

스택에 설명 된 모든 유사한 문제를 확인했지만 persistence.xml은 정확하며 src/META-INF 폴더에있는 META-INF 폴더에 있습니다.

아래는 지속성 파일 구조입니다.

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="MovieDatabasePU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>moviedatabase.entities.FavoriteList</class>
    <class>moviedatabase.entities.Genre</class>
    <class>moviedatabase.entities.Movie</class>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/person"/>
      <property name="javax.persistence.jdbc.user" value="pli24"/>
      <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
      <property name="javax.persistence.jdbc.password" value="pli24"/>
    </properties>
  </persistence-unit>
</persistence>

디버깅에서 아래 문장에서 오류가 발생합니다 :

private static void deleteFromDB() {
        EntityManager em;
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("MovieDatabasePU"); <-- This line
        em = emf.createEntityManager();
        em.getTransaction().begin();

거의 모든 솔루션을 시도했지만 여전히 데이터베이스 연결이 없기 때문에 무엇이 잘못 될 수 있습니다.


  • 답변 # 1

    와이즈 비즈   persistence.xml 에 있어야합니다   /src/main/resources/META-INF/ 가 아닌 폴더  하나.

  • 답변 # 2

    음, 깨끗하고 빌드 만하면 작동합니다 !!! 모든 파일이 정상이며 정리만으로는 충분하지 않았습니다.

    src/META-INF

  • 이전 wordpress - WPBakery Visual Composer가로드되지 않습니다
  • 다음 javascript - 상황에 맞는 API컨텍스트가 변경된 후 소비자가 다시 렌더링하지 않음