2016-04-05 7 views
1

Ben hazırda bir acemi olduğum ve benim varlıkları (Persistance) sınamak çalışıyorum ve bu hata göstermeye devamjava.lang.NoClassDefFoundError: org/hazırda/boot/kayıt/classloading/spi/ClassLoaderService

Bu

Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/boot/registry/classloading/spi/ClassLoaderService 
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:80) 
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:71) 
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:52) 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48) 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32) 
at Pers.PersistTest.main(PersistTest.java:20) 
Caused by: java.lang.ClassNotFoundException:org.hibernate.boot.registry.classloading.spi.ClassLoaderService 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
... 6 more 

(Alıcı ve ayarlayıcıların ve tabii yapıcısı ile) benim varlık

import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 

@Entity 
public class User { 
@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
private int idUser; 
... 
private boolean isAdmin; 

ve bu test sınıf

012 olduğunu
public class PersistTest { 
public static void main(String[] args) { 

    EntityManagerFactory emf=Persistence.createEntityManagerFactory("PU"); 
    EntityManager em = emf.createEntityManager(); 
    Session s = new AnnotationConfiguration() 
      .configure().buildSessionFactory().openSession(); 
    Transaction t = s.beginTransaction(); 

    User c = new User(); 
    c.setIdUser(1); 
    ... 
    c.setAdmin(true); 

    em.persist(c); 
    t.commit(); 
    s.close(); 
    System.out.print("success"); 
} 

ve bu

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence  http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
     version="2.0"> 
    <persistence-unit name="PU" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 
      <properties> 
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/GBO1" /> 
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> 
      <property name="javax.persistence.jdbc.user" value="root" /> 
      <property name="javax.persistence.jdbc.password" value="" /> 
    </properties> 
persistence.xml ve bu benim hazırda bağımlılıkları

<dependency> 
<groupId>org.hibernate</groupId> 
<artifactId>hibernate-annotations</artifactId> 
<version>3.5.6-Final</version> 
</dependency> 
<dependency> 
<groupId>org.hibernate</groupId> 
<artifactId>hibernate-entitymanager</artifactId> 
<version>5.0.6.Final</version> 
</dependency> 
<dependency> 
<groupId>org.hibernate</groupId> 
<artifactId>hibernate-commons-annotations</artifactId> 
<version>3.2.0.Final</version> 
</dependency> 
<dependency> 
<groupId>org.hibernate</groupId> 
<artifactId>ejb3-persistence</artifactId> 
<version>3.3.2.Beta1</version> 
</dependency> 

ve teşekkür önceden :)

+0

neyin işe koyulmak için kullanabilir? JPA bunların hepsini yapıyor. NoClassDefFound, o sınıfa sahip olmamanız veya bağlı olanlardan birinin bulunmadığı anlamına gelir. Ve "hibernate-annotations" ın yıllardır piyasaya sürülmediğini aklınızda tutarak belki de buna ihtiyacınız yok. Eminim, hazırda beklemede olan doktorlar size –

cevap

3
    olduğunu
  1. Bir JPA yaklaşımını (EntityMananger kullanarak) ve Hazırda Bekletme Session yaklaşımını karıştırıyorsunuz.
  2. Hazırda Bekletme 3 kitaplıklarını (3.5.6-Son) ve Hazırda Bekletme 5 hibernate-entitymanager (5.0.6.Final) kullanırsınız.

Sen hazırda özgü Oturum/İşlem saçma her ile

Hibernate Getting Started Guide

+1

tamam demeli, teşekkürler (kibar cevabınız için) –

+0

@ MohamedElȜalamy Hoş geldiniz :) –

İlgili konular