热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hibernate4.3.0中使用log4j时关于jar包取舍的问题

上面部分是hibernate-release-4.3.0.Final\lib\required里面的所有jar包,下面3个是与log4j配置相关的jar包。查了下资料slf4j有好多具体实现:

上面部分是hibernate-release-4.3.0.Final\lib\required里面的所有jar包,下面3个是与log4j配置相关的jar包。
查了下资料slf4j有好多具体实现:slf4j nodep, log4j, jdk logging api, apache commons-logging等。
jboss-logging-3.1.3.GA包基于java.util.logging包(我认为就是jdk logging api )实现。所以我认为log4j应该和jboss-logging-3.1.3.GA应该是处于同一级别不同实现方式的jar包,照这样想,在hibernate用log4j,如果添加了log4j-1.2.17.jar包,则应该可以去掉jboss-logging-3.1.3.GA包,但是去掉之后就出错。谁能帮我理清一下思路,谢谢。

9 个解决方案

#1


最方便的办法是看官方给的 demo,看看 demo 是怎么搭配的

#2


JBoss Log4j冲突解决方法
jboss log4j冲突分析与解决

#3


引用 1 楼 defonds 的回复:
最方便的办法是看官方给的 demo,看看 demo 是怎么搭配的


正确搭建就是截图那样。
不过我觉得可以去掉jboss-logging-3.1.3.GA包,因为jboss-logging-3.1.3.GA和log4j-1.2.17.jar的功能一样。
但是实际不能去掉,谁能告诉我为什么不能去掉?

#4


引用 2 楼 u011213572 的回复:
JBoss Log4j冲突解决方法
jboss log4j冲突分析与解决

正确搭建就是截图那样。
不过我觉得可以去掉jboss-logging-3.1.3.GA包,因为jboss-logging-3.1.3.GA和log4j-1.2.17.jar的功能一样。
但是实际不能去掉,谁能告诉我为什么不能去掉?

#5


不能去掉,也有可能是别的jar运行依赖log4j。

#6


>>> 所以我认为log4j应该和jboss-logging-3.1.3.GA应该是处于同一级别不同实现方式的jar包,照这样想,在hibernate用log4j,如果添加了log4j-1.2.17.jar包,则应该可以去掉jboss-logging-3.1.3.GA包,但是去掉之后就出错。谁能帮我理清一下思路

jboss-logging本身就包括log4j,它设计的主要目的是兼容所有常见的日志FrameWork,例如log4j,common logging,slf4j等,如果您的应用是部署到JBoss的,则这些包没有必要打在应用中

#7


引用 6 楼 kylinsoong 的回复:
>>> 所以我认为log4j应该和jboss-logging-3.1.3.GA应该是处于同一级别不同实现方式的jar包,照这样想,在hibernate用log4j,如果添加了log4j-1.2.17.jar包,则应该可以去掉jboss-logging-3.1.3.GA包,但是去掉之后就出错。谁能帮我理清一下思路

jboss-logging本身就包括log4j,它设计的主要目的是兼容所有常见的日志FrameWork,例如log4j,common logging,slf4j等,如果您的应用是部署到JBoss的,则这些包没有必要打在应用中


也就是说jboss-logging的范围大于log4j,所以不能被取代。又因为jboss-logging是hibernate框架必须加入的包,所以jbos-logging必不可少。是这样的意思吧?

#8


引用 7 楼 qq1623267754 的回复:
Quote: 引用 6 楼 kylinsoong 的回复:

>>> 所以我认为log4j应该和jboss-logging-3.1.3.GA应该是处于同一级别不同实现方式的jar包,照这样想,在hibernate用log4j,如果添加了log4j-1.2.17.jar包,则应该可以去掉jboss-logging-3.1.3.GA包,但是去掉之后就出错。谁能帮我理清一下思路

jboss-logging本身就包括log4j,它设计的主要目的是兼容所有常见的日志FrameWork,例如log4j,common logging,slf4j等,如果您的应用是部署到JBoss的,则这些包没有必要打在应用中


也就是说jboss-logging的范围大于log4j,所以不能被取代。又因为jboss-logging是hibernate框架必须加入的包,所以jbos-logging必不可少。是这样的意思吧?

是的,不能够被取代。你可以使用Maven管理依赖,Maven会自动给您添加依赖,可以省的你手动添加

#9


引用 8 楼 kylinsoong 的回复:
Quote: 引用 7 楼 qq1623267754 的回复:

Quote: 引用 6 楼 kylinsoong 的回复:

>>> 所以我认为log4j应该和jboss-logging-3.1.3.GA应该是处于同一级别不同实现方式的jar包,照这样想,在hibernate用log4j,如果添加了log4j-1.2.17.jar包,则应该可以去掉jboss-logging-3.1.3.GA包,但是去掉之后就出错。谁能帮我理清一下思路

jboss-logging本身就包括log4j,它设计的主要目的是兼容所有常见的日志FrameWork,例如log4j,common logging,slf4j等,如果您的应用是部署到JBoss的,则这些包没有必要打在应用中


也就是说jboss-logging的范围大于log4j,所以不能被取代。又因为jboss-logging是hibernate框架必须加入的包,所以jbos-logging必不可少。是这样的意思吧?

是的,不能够被取代。你可以使用Maven管理依赖,Maven会自动给您添加依赖,可以省的你手动添加


thanks

推荐阅读
  • Spring入门第十讲——Hibernate5.0.7+Struts2.3.24+Spring4.2.4三大框架整合开发
    回顾SSH框架至此,Hibernate-5.0.7、Struts-2.3.24和Spring-4.2.4这三个框架,我们已经都过了一遍了。现在,咱就要 ... [详细]
  • java日志框架详解
    Java日志框架详解1.常用日志框架1.1Java常用日志框架类别1.2Java常用日志框架历史1.3两大日志接口阵营1.3.1基于CommonsLogging接口实现的常用日志框 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 学习mybatis的基础知识:mybatis入门教程(二)
    2019独角兽企业重金招聘Python工程师标准2.3MyBatisprintsql在log4j.properties配置文件中添加如下配置,让mybatis打 ... [详细]
  • 介绍怎样在IntellijIdea中通过创建mavenproject配置MapReduce的编程环境。一、软件环境我使用的软件版本号例如以下:IntellijIdea2017.1M ... [详细]
  • 线上问题:JavaBean赋值基础类型抛出异常
    1问题复现1.1问题实体(JavaBean规范)赋值时,抛出异常。1.2原因使用基础类型定义属性,当使用null给属 ... [详细]
  • 开发笔记:MyBatis03:ResultMap及分页
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了MyBatis03:ResultMap及分页相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文出自:web应用用cronolog分割tomcat的catalina.out文件#wgethttp:cronolog.orgdownloadcronolog-1. ... [详细]
  • SpringBoot源码解析 Logging,Environment启动
    本文通过阅读SpringBoot源码,分享SpringBoot中Logging,Environme ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • packagecom.huawei.it.citools.utils;importjava.io.File;importjava.io.IOException;importjava ... [详细]
author-avatar
北漂123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有