2016-07-27 3 views
0

나는 내 프로그램에서 캐싱을 소개하려고하지만 난 런타임java.lang.ClassNotFoundException가 : org.hibernate.boot.spi.SessionFactoryOptions

다음
Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/boot/spi/SessionFactoryOptions 
at java.lang.Class.getDeclaredMethods0(Native Method) 
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
at java.lang.Class.privateGetPublicMethods(Class.java:2902) 
at java.lang.Class.getMethods(Class.java:1615) 
at org.hibernate.service.internal.AbstractServiceRegistryImpl.applyInjections(AbstractServiceRegistryImpl.java:278) 
at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:269) 
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:231) 
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:295) 
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2444) 
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2440) 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857) 
at com.hibernate.exercise6.utilities.HibernateUtil.<clinit>(HibernateUtil.java:41) 
at com.hibernate.exercise6.dao.PersonDAO.<init>(PersonDAO.java:37) 
at com.hibernate.exercise6.service.EmployeeService.<init>(EmployeeService.java:40) 
at com.hibernate.exercise6.app.GUIMain.<clinit>(GUIMain.java:46) 
Caused by: java.lang.ClassNotFoundException: org.hibernate.boot.spi.SessionFactoryOptions 
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) 
... 16 more 

내 HibernateUtil과 클래스
에서 예외가 발생하고 HibernateUtil.java는

public class HibernateUtil{ 
private static SessionFactory sessionFactory; 
private static AnnotationConfiguration cfg; 
private static ServiceRegistry serviceRegistry; 
    static{ 
      cfg = new AnnotationConfiguration() 
      .configure() 
      .addAnnotatedClass(com.hibernate.exercise6.model.Employee.class) 
      .addAnnotatedClass(com.hibernate.exercise6.model.Name.class) 
      .addAnnotatedClass(com.hibernate.exercise6.model.Address.class) 
      .addAnnotatedClass(com.hibernate.exercise6.model.OtherInfo.class) 
      .addAnnotatedClass(com.hibernate.exercise6.model.Contact.class) 
      .addAnnotatedClass(com.hibernate.exercise6.model.Role.class) 
      .setProperty("hibernate.enable_lazy_load_no_trans","true") 
      .setProperty("hibernate.cache.provider_class","org.hibernate.cache.EhCacheProvider") 
      .setProperty("hibernate.cache.region.factory_class","org.hibernate.cache.ehcache.EhCacheRegionFactory") 
      .setProperty("hibernate.cache.use_second_level_cache","true") 
      .setProperty("hibernate.cache.use_query_cache","true"); 

      serviceRegistry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build(); 

      sessionFactory = cfg.buildSessionFactory(serviceRegistry); 
    } 


public static SessionFactory getSessionFactory(){ 
    return sessionFactory; 
} 
} 

나는 org-hibernate-core-4.3.10-Final.jar을 사용하고 있습니다.
이 경로를 찾을 수 없습니다. org/hibernate/boot/spi/SessionFactoryOptions
이 문제를 해결하기위한 제안이 있습니까?

답변

3

클래스 패스에 다른 최대 절전 모드 버전이있는 것 같습니다.

+0

신선한 설치를 만들었습니다. 지금은 잘 작동합니다. 감사합니다. – Dee

관련 문제