weixin_43959294
手鞠寿司
采纳率0%
2019-02-15 09:17

Exception in thread "main" java.lang.NoClassDefFoundError如何解决

本人初学Hibernate框架,网络上找的视频自学的,刚刚到第一次运行文件就出现这个错误,用的是eclipse,错误代码如下:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    at org.hibernate.boot.spi.XmlMappingBinderAccess.<init>(XmlMappingBinderAccess.java:43)
    at org.hibernate.boot.MetadataSources.<init>(MetadataSources.java:87)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:123)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:118)
    at cn.ljs.text.HibernateTest.main(HibernateTest.java:13)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    ... 5 more

文件代码如下:

package cn.ljs.text;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import cn.ljs.pojo.User;

public class HibernateTest {
    public static void main(String[] args) {
        Configuration cfg=new Configuration().configure();
        ServiceRegistry registry=new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
        SessionFactory factory=cfg.buildSessionFactory(registry);
        Session session=factory.openSession();
        User user=(User) session.get(User.class, 1);
        System.out.println(user);
        session.close();
        factory.close();
    }
}

很简单,就是测试一下布置有没有问题
以下是包图:
图片说明
跟着教学视频走的,代码无误,视频里直接输出了数据库表中的信息,而我就报错...

已自行百度后作出以下修改:

1.将jar包修改到classpath目录下,
图片说明
无效
2.修改classpath等配置,
图片说明
图片说明

path:D:\OracleWINDOWS.X64_180000_db_home\bin;%JAVA_HOME%\bin;%MAVEN_HOME%\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;D:\java\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\system32\wbem

我半路出家,在外面培训班学过4个月java基础,学的是SSM框架,现在想自己拓展一下学习Hibernate,哪知道一开始就遇到这问题 o(╥﹏╥)o,请高手指点!谢谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

相关推荐