Hibernate бросая ошибку «Неверный номер версии в .class файле» - PullRequest
0 голосов
/ 16 февраля 2012
public class HibernateTest {

     private static SessionFactory sessionFactory;
     private static ServiceRegistry serviceRegistry;

     public static void main(String ars[]){

         UserDetails user = new UserDetails();
         user.setUserId(1);
         user.setUserName("First user");

         SessionFactory sessionFactory = configureSessionFactory(); 
         Session session = sessionFactory.openSession();
         session.beginTransaction();
         session.save(user);
         session.getTransaction().commit();     
     }

//using Hibernate API
     private static SessionFactory configureSessionFactory() throws HibernateException {

         Configuration configuration = new Configuration();
         configuration.configure();
         serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
         sessionFactory = configuration.buildSessionFactory(serviceRegistry);
         return sessionFactory;
     }  
 }

ERROR

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at hibernate.HibernateTest.configureSessionFactory(HibernateTest.java:30)
at hibernate.HibernateTest.main(HibernateTest.java:20)

Я новичок в спящем режиме. Кто-нибудь может объяснить мне, что здесь происходит не так?

Ответы [ 3 ]

0 голосов
/ 16 февраля 2012

Это java.lang.UnsupportedClassVersionError: Bad version number in .class file

Похоже, у вас неправильная версия hibernate jar, которая не поддерживается вашей средой выполнения (jvm).

0 голосов
/ 16 февраля 2012

Проверьте версию JDK класса hibernate, используя следующую команду

javap -verbose org.hibernate.SessionFactory.SessionFactory

(сначала распакуйте банку)

Убедитесь, что HibernateTest также скомпилирован в той же версии.

0 голосов
/ 16 февраля 2012

Это:

Исключение в потоке "main" java.lang.UnsupportedClassVersionError: неверный номер версии в .class

в основном означает, что версия Java у вас 'Вы слишком устарели для кода, который пытаетесь запустить.

Какую версию Java вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...