0 0

Hibernate 3 和 commons-lang冲突问题5

一个简单的应用,Hibernate 3 + Struts 2的框架,jdk 1.6 + tomcat 6.0。
其中用到json-lib,commons-lang-2.5是json-lib依赖包。
项目启动后,运行到json转换时,有如下报错:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "JPM-quanjun.cen@kenfor.com" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at com.kenfor.gmail.imappush.account.IMAPPushMailAccount.connect(IMAPPushMailAccount.java:72)
	at com.kenfor.gmail.imappush.account.IMAPPushMailAccount.initConnection(IMAPPushMailAccount.java:140)
	at com.kenfor.gmail.imappush.account.IMAPPushMailAccount.run(IMAPPushMailAccount.java:67)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	... 16 more

 

如果不使用hibernate,就不会报错。

请指教下应该怎么解决。

1个答案 按时间排序 按投票排序

0 0

采纳的答案

错误原因:

现在的Hibernate使用SLF4J API记录日志,但是在Hibernate的lib中,不再提供Log4J的包,而大部分框架依然使用Log4J记录日志,这样导致了兼容性问题。


解决办法,两步:

        一、在编译路径中添加Log4J的包,比如我一直在用的log4j-1.2.16.jar;

        二、再添加一个叫做slf4j-log4j12-1.6.1.jar的包进行转换,注意到这里的log4j12,对应的是log4j 1.2版本。OK!

补充:
SLF4J官方下载:http://www.slf4j.org/download.html
下载对应版本后加压找到slf4j-log4j12-1.6.1.jar即可
需要在LIB中添加另一个包:slf4j-nop-1.6.1.jar   这个包在slf4j-1.6.1.jar解压缩后的文件里有。

http://hi.baidu.com/crazy4tech/item/f90c097956fd532c70442342

2012年8月08日 16:46

相关推荐

    ssh整合所需jar包 struts1.2+hibernate3.2+spring2.5

    - 必要的jar包有:hibernate3.jar、hibernate-annotations.jar、hibernate-commons-annotations.jar、hibernate-jpa-2.0-api.jar、jta.jar等。它们提供了实体管理、查询语言HQL、事务处理等功能。 3. **Spring 2.5...

    spring+hibernate 无冲突jar包

    在实际项目中,由于版本兼容性问题,有时会出现Spring和Hibernate之间的冲突,这主要体现在jar包版本不匹配或依赖重复。 这个名为"spring+hibernate 无冲突jar包"的压缩文件,正是为了解决这个问题而提供的。它包含...

    Struts2+Spring3+Hibernate4整合的jar包

    Struts2、Spring3和Hibernate4是Java Web开发中的三大框架,它们的整合极大地提高了开发效率,简化了项目结构,并提供了强大的功能。SSH(Struts2、Spring、Hibernate)是企业级应用开发的常见选择,这主要是因为...

    lib-s2s2h3_2.rar

    标题“lib-s2s2h3_2.rar”暗示了这是一个与Struts2、Spring2和Hibernate3集成相关的库文件的压缩包,是该系列的第二部分。描述中提到的“由于上传大小限制,这是第二部分”,说明这个压缩包是分批上传的,可能包含了...

    Struts2.1+Spring2.5+Hibernate3的jar包

    5. 其他依赖库:如log4j.jar、commons-lang3.jar等。 在构建Web项目时,正确引用这些jar包至关重要。如果jar包引用错误,可能会导致类找不到、版本冲突等问题,从而无法正常启动项目。因此,提供一个通用的SSH jar...

    json相关的jar包

    5. **Apache Commons Lang** - `commons-lang-2.6.jar` 是Apache Commons Lang库,包含了一系列实用的Java语言工具类,可以辅助JSON数据的处理和解析。 6. **Apache Commons BeanUtils** - `commons-beanutils-...

    ssh所需jar包

    - commons-lang3:Apache Commons提供的实用工具类库。 3. Hibernate框架: Hibernate是一个强大的对象关系映射(ORM)框架,使得Java开发者可以方便地操作数据库。其主要jar包有: - hibernate-core:包含...

    SSH框架整合所需JAR包

    SSH框架是Spring、Struts和Hibernate三个开源框架的组合,被广泛应用于企业级Java Web开发中。这三种框架分别负责不同的职责:Spring提供依赖注入和事务管理,Struts处理MVC模式,Hibernate则用于对象关系映射。在...

    JAR包的详解(推荐)

    7. commons-lang.jar: Apache Commons Lang提供了对Java基础类库的扩展,如数据类型的工具类,是Java.lang包的补充。 8. commons-logging.jar: Apache Commons Logging是一个日志抽象层,使得应用程序可以在运行时...

    struts+spring+hibernate所需的jar文件

    此外,还有可能包含`commons-lang3.jar`、`commons-collections4.jar`等Apache Commons库,它们提供了许多实用的工具类。 在实际项目中,为了优化部署,开发者需要仔细筛选并整合这些jar文件,避免版本冲突和冗余。...

    ssh框架用到相关的jar包

    此外,为了使这些框架能够正常协作,还需要一些依赖的库,例如log4j用于日志记录,commons-lang3和commons-logging提供通用工具函数,servlet-api和jsp-api则是在Web服务器上运行所必需的。 总的来说,这个压缩包...

    Struts2+Spring3+Hibernate3_集成方法

    标题与描述中的关键词“Struts2+Spring3+Hibernate3集成方法”指向了一种常见的企业级应用架构,这种架构结合了MVC(Model-View-Controller)、IoC(Inversion of Control)和ORM(Object Relational Mapping)的...

    compass+ssh2集成 hibernategps问题

    标题中的“compass+ssh2集成 hibernategps问题”指的是在Java开发中,开发者尝试将Compass搜索引擎库与SSH2(Spring、Struts和Hibernate)框架整合时遇到的问题,特别是与Hibernate的GPS(Global Persistent ...

    strut1、spring、hibernate的整合

    常见的SSH整合中用到的jar包有Struts的核心库、Spring的全套库、Hibernate的JPA或ORM库,以及其他如log4j、commons-lang等辅助库。 总的来说,SSH整合涉及到的步骤包括:项目配置、数据库连接、框架配置、Bean定义...

    SSH框架整合中用到的jar包

    3. Commons-lang、Commons-collections等Apache Commons库:提供各种实用工具类。 4. CGLIB和ASM:Spring的AOP代理实现需要。 5. AspectJ:如果使用AOP,需要对应的jar包。 6. javax.servlet.jsp.jstl-api和javax.el...

    SSH 所需的Jar包

    在实际开发中,SSH的整合还需要一些其他依赖,如:log4j或slf4j用于日志记录,commons-lang3和commons-logging提供通用工具函数,jasperreports或itext用于报表生成,以及freemarker或velocity作为视图模板引擎。...

    ssh框架整合jar包

    还需要其他一些常用的jar包,如`log4j.jar`用于日志记录,`commons-logging.jar`提供日志接口,` commons-lang3.jar`和`commons-collections.jar`提供了一些实用工具类,`javassist.jar`是Hibernate的动态代理库,`...

    JSONObject所需所有jar包

    在处理JSON时,可能会用到这个库来记录程序执行过程中的信息,便于调试和问题定位。 使用这些jar包时,需要注意避免与其他项目中的库版本冲突,因为不同的库版本可能存在不兼容的问题。在导入这些jar包后,可以方便...

    手动搭建SSH框架所需27个jar包

    - `commons-lang3.jar`,Apache Commons提供的语言工具类库。 - `commons-io.jar`,处理I/O操作。 - `commons-fileupload.jar`,处理文件上传。 - `javassist.jar`,Hibernate的字节码处理库。 6. **构建工具**...

    ssh所有jar包

    3. Hibernate的主库和相关模块,如hibernate-core、hibernate-entitymanager、hibernate-validator等。 4. 可能还包括一些依赖的库,如log4j日志框架、commons-lang、commons-fileupload等。 5. 还可能包含数据库...

Global site tag (gtag.js) - Google Analytics