[size=16px][size=11px]小弟我用的开发工具:
eclipse3.2+myeclipse5.5 tomcat6.0 jdk1.6 mysql5.0 项目名:usermanagement其中struts所需要的jar,hibernate所需要的jar包,是通过手动引入的struts包:直接在myeclipse下复制到lib下hibernate包:首先通过window->reference->java->buildpath->userlibrary->建立hibernate包(hibernate),并导入所有hibernate需要的包,以及mysql所需要的包.通过项目把hibernate包引进来.基本的包引入就这样的.在写完项目后发布项目,去查看webapps/usermanagement/WEB-INF/lib下面的东西,发现只有struts包,并没有hibernate包.接着运行项目,这时候就有错误了:java.lang.NoClassDefFoundError: org/dom4j/DocumentException
                          ....
                          ....
在网上查了一下,说是没用引入dom4j.jar包,我看了hibernate包下面,有这个jar包,这就搞不懂了?为何会有这样的异常现象?估计后面还会有其它的会说因为hibernate包没有引入而导致的错误,这到底是为什么?是不是我上面引入包的过程错误了?需要不需要我把hibernate所有的包复制到项目的lib下面,"如果是,怎么会这样,为何myeclipse不会帮我把hibernate所需要的jar下面的包放到lib下面,每次都要自己这样吗,别告诉我可以用classpath引入,那还是算了."难道是myecliplse的问题?     可不可以详细讲解一下.我才没学hibernate多长时间,希望大家帮我个忙,我在这谢谢大家了.真的,我真得被这个问题弄得很郁闷,因为之前我也做过一个"struts+hibernate实现用户登录"也出现这个问题(问题是不一样的,但都是说没有引入biernate包而导致的),我当时实在没办法,就直接将hibernate所需要包拷贝到webapps下中的项目中的lib下,才解决因为hibernate包的问题.

解决方案 »

  1.   

    因为你是userlibrary
    不会帮你复制包到项目目录 只会向项目中写入包的引用地址项目离开这个环境 就跑不了了 
      

  2.   

    clean一下工程,重新导入一下
      

  3.   

    支持,手动把hibernate包拷到lib目录下也不是很麻烦的事情啊。
    如果你使用userlibrary,你在A电脑上写的项目,在B电脑上部署的时候,还需要拷过来jar包。
    如果是拷到lib目录下的,就省事多了。
      

  4.   

    直接用MyEclipse import就可以了,它会自动把引入的jar包复制到lib下
      

  5.   

    你可以自己定义个标签库,
    以后直接导入你标签库的所有JAR文件
      

  6.   

    给的分好多。。在整合时最好还是把包都复制到lib下呢,你到后面ssh整合时还会出现很多类似jar包不完整,冲突的错误的
      

  7.   

    看看你项目路径下有个.classpath的文件里面存放的就是你引入的包以及位置,你看看需要的都在里面不,没有就手动添加一下,或是在eclipse中右击项目名字,看看buildpath里面你需要的东西是否全,并且路径是否正确,如果不争取会有叹号的提示的。
      

  8.   

    感觉hibernate所需要的jar包太多了.我全部拷贝过来,太恐怖了.哪些是必须的?能说下不.