2016-04-09 34 views
-2

Ben sadece iyi çalışıyor bir JPA proje var, bağımlılıkları ile bir kavanoz oluşturmak için maven yapı çalıştırmak, oluşturulan kavanoz bir istisna atar: No Persistence provider for EntityManager named PersistenceUnit, bunun nedeni olduğunu biliyorum Kalıcılık içinde bir sağlayıcı olmaması, ancak sağlayıcı belirlenir ve bina önce iyi çalışıyor! Neden? Ben maven hedefe persistence.xml yüklemek temiz inşa ran:JPA Hayır Merkür inşa sonra EntityManager için kalıcılık sağlayıcısı

<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

persistence.xml maven dir yapısına nereye koydunuz? Ve neden iki "hibernate.dialect" ye ihtiyacın var? Ve yönetilecek sınıflar nerede? – ujulu

cevap

4

Ben hibernate-4 başlangıç, kullanmak gerektiğini düşünüyorum <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

+0

biz adamız –

+0

Teşekkürler, iyi şanslar! –

İlgili konular