2016-04-09 16 views
-2

JPAプロジェクトが正常に動作しています。依存関係のJARファイルを作成するためにmavenビルドを実行します。作成されたjarファイルは例外をスローします。No Persistence provider for EntityManager named PersistenceUnit、永続性の中にプロバイダーを持たないが、プロバイダーはビルド前に指定され、正常に動作しています。何故ですか?JPA Mavenビルド後にEntityManagerの永続化プロバイダがありません

<persistence-unit name="PersistenceUnit" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <properties> 

     <property name="javax.persistence.jdbc.driver" value="org.sqlite.JDBC" /> 
     <property name="javax.persistence.jdbc.url" value="jdbc:sqlite:src\main.db" /> 

     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
     <property name="hibernate.show_sql" value="true" /> 
     <property name="hibernate.hbm2ddl.auto" value="update" /> 

     <property name="hibernate.dialect" value="com.asendar.applications.dialect.SQLiteDialect" /> 

     <property name="hibernate.ejb.naming_strategy" value="org.hibernate.cfg.ImprovedNamingStrategy" /> 
     <property name="hibernate.connection.charSet" value="UTF-8" /> 

    </properties> 


</persistence-unit> 

のpom.xml:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <mainClass>com.asendar.applications.main.TerminalMain</mainClass> 
    <jee.version>7.0</jee.version> 
    <hibernate.version>4.3.8.Final</hibernate.version> 
</properties> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.3</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>asendar-codes</artifactId> 
      <version>1.0</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>com.asendar.applications.main.TerminalMain</mainClass> 
        </manifest> 
       </archive> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
      </configuration> 
     </plugin> 

     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>com.asendar.applications.main.TerminalMain</mainClass> 
        </manifest> 
       </archive> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
      </configuration> 
      <executions> 
       <execution> 
        <id>make-assembly</id> <!-- this is used for inheritance merges --> 
        <phase>package</phase> <!-- bind to the packaging phase --> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

<dependencies> 

    <dependency> 
     <groupId>org.controlsfx</groupId> 
     <artifactId>controlsfx</artifactId> 
     <version>8.40.10</version> 
    </dependency> 

    <dependency> 
     <groupId>com.guigarage</groupId> 
     <artifactId>flatter</artifactId> 
     <version>0.7</version> 
    </dependency> 

    <dependency> 
     <groupId>commons-beanutils</groupId> 
     <artifactId>commons-beanutils</artifactId> 
     <version>1.8.3</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi</artifactId> 
     <version>3.7</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-api</artifactId> 
     <version>2.5</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.5</version> 
    </dependency> 

    <dependency> 
     <groupId>org.projectlombok</groupId> 
     <artifactId>lombok</artifactId> 
     <version>1.16.8</version> 
     <scope>provided</scope> 
    </dependency> 

    <!-- sqlite --> 
    <dependency> 
     <groupId>org.xerial</groupId> 
     <artifactId>sqlite-jdbc</artifactId> 
     <version>3.8.11.2</version> 
    </dependency> 

    <!-- JPA and hibernate --> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>${jee.version}</version> 
     <scope>provided</scope> 
    </dependency> 


    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.30</version> 
    </dependency> 
</dependencies> 
+0

を使うべきだと思う私は、Mavenのはきれいでゴール persistence.xmlのインストールを構築走っ persistence.xmlはどこでmavenディレクトリ構造に入れましたか?そして、なぜあなたは2つの「休止状態」を必要としていますか?クラスはどこで管理されますか? – ujulu

答えて

4

私はhibernate-4の開始、あなたは<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

+0

あなたは男性です –

+0

ありがとう、幸運! –

関連する問題