我的jar文件是用eclipse导出成Jar文件生成的,写一个普通的helloWorld类打包成Jar文件,然后另一个项目应用是可以显示helloworld的,但是我通过hibernate建立一个底层的数据访问类,打包成jar文件后,别的项目引用,在写代码的时候是没有提示错误的,但是运行起来就提示:
Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
at com.test.test.main(test.java:21)具体是那个类没有找到呢? 请教大家,
还有打包的时候hibernate.cfg.xml、*.hbm.xml文件、还有lib里面的文件是否一起打包呢?main代码如下:
SysmrgAccess sysAccess = new SysmrgAccess();
         
         SayHello hello = new SayHello();
hello.SayHelloWorld();            //运行正常         SysmrgAccess sysAccess = new SysmrgAccess();//提示上述错误
ArrayList users = (ArrayList) sysAccess.getAllUserAccount();
Iterator user = users.iterator();
while(user.hasNext()){
    PermUserAccount userAccount = (PermUserAccount)user.next();
    System.out.println(userAccount.getUserAccount());
}

解决方案 »

  1.   

    test.main(test.java:21)
    看看这里面都用到哪些类不就知道了
      

  2.   

    SysmrgAccess sysAccess = new SysmrgAccess();//提示上述错误就是这里错误,但是写代码的时候没有提示错误啊,鼠标放上去也能找到相应的包
      

  3.   

    问题找到了,是缺少相应的hibernate包,把hibernate包导入,还有数据库驱动导入到测试项目就可以了,但是为甚么打包的时候没有将这些引用的jar文件一起打包进去呢? 
    反而在别的项目引用的时候还有引用一边?难道是打包的时候那里的属性还要设置一下么?