大概在2个月前已经完成了sword项目的源代码开发,并且在eclipse环境中已经完成了功能性测试。但是打包成jar文件进行运行问题,出现下面的问题:Log4jLoggerFactory
的死循环。
引用
C:\Documents and Settings\sys53\桌面>java -classpath codesword.jar com.codesword.CodeGenerate
log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.
Exception in thread "main" java.lang.StackOverflowError
at java.lang.String.equalsIgnoreCase(String.java:1120)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:70)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.log4j.Category.<init>(Category.java:52)
at org.apache.log4j.Logger.<init>(Logger.java:22)
at org.apache.log4j.spi.NOPLogger.<init>(NOPLogger.java:39)
at org.apache.log4j.spi.NOPLoggerRepository.getRootLogger(NOPLoggerRepository.java:89)
at org.apache.log4j.LogManager.getRootLogger(LogManager.java:189)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:71)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.log4j.Category.<init>(Category.java:52)
at org.apache.log4j.Logger.<init>(Logger.java:22)
at org.apache.log4j.spi.NOPLogger.<init>(NOPLogger.java:39)
at org.apache.log4j.spi.NOPLoggerRepository.getRootLogger(NOPLoggerRepository.java:89)
at org.apache.log4j.LogManager.getRootLogger(LogManager.java:189)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:71)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.log4j.Category.<init>(Category.java:52)
at org.apache.log4j.Logger.<init>(Logger.java:22)
at org.apache.log4j.spi.NOPLogger.<init>(NOPLogger.java:39)
at org.apache.log4j.spi.NOPLoggerRepository.getRootLogger(NOPLoggerRepository.java:89)
at org.apache.log4j.LogManager.getRootLogger(LogManager.java:189)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:71)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.log4j.Category.<init>(Category.java:52)
at org.apache.log4j.Logger.<init>(Logger.java:22)
at org.apache.log4j.spi.NOPLogger.<init>(NOPLogger.java:39)
at org.apache.log4j.spi.NOPLoggerRepository.getRootLogger(NOPLoggerRepository.java:89)
。。。。
由于工作项目忙的原因一直没有去研究这个问题。
看到了je的问答上回答说:Log4j 1.2.15存在一个bug会导致log4j:ERROR LogMananger.repositorySelector was null likely due to
于是我换成了Log4j 1.2.14版本,问题解决了!
至于为什么eclipse下为什么运行正常,在单独命令行运行jar时却会有错误还是没有想通。
谁知道能给原因吗?
分享到:
相关推荐
1. **稳定性与兼容性**:Log4j 1.2.15是一个稳定版本,修复了前一版本中的多个已知问题,确保了与其他系统的良好兼容性。 2. **配置灵活性**:通过配置文件(通常为log4j.properties或log4j.xml),开发者可以灵活...
总结,Apache Log4j 1.2.15是一个强大而灵活的日志解决方案,它提供了丰富的配置选项和易于使用的API,帮助开发者更好地监控和调试应用程序。通过理解其核心组件、配置方法以及在代码中的使用,我们可以更有效地利用...
log4j 1.2.15是该系列的一个稳定版本,虽然现在已有更新的log4j 2.x版本,但1.2.x系列仍然被许多遗留系统所采用。 二、核心组件 1. **Logger**: log4j的核心类,负责接收日志信息并决定如何处理。Logger通过继承...
Log4j 1.2.15 api Log4j 1.2.15 api Log4j 1.2.15 api Log4j 1.2.15 api Log4j 1.2.15 api Log4j 1.2.15 api
《深入解析log4j-1.2.15:源码...总的来说,log4j-1.2.15是一个强大的日志框架,其源码的深度研究和合理利用,能够极大地提升开发和运维的效率。无论是在项目开发还是系统维护中,熟练掌握log4j都将是一项宝贵的技能。
Apache Log4j是Java平台上的一个著名日志记录框架,它允许开发者在应用程序中方便地进行日志输出,便于调试、监控和问题排查。标题中的"apache-log4j-1.2.15.jar"指的是Log4j的一个特定版本,即1.2.15。这个版本发布...
Apache Log4j是Java平台上的一个著名日志记录框架,其1.2.15版本是该框架的一个历史版本。Log4j为开发者提供了一种灵活且强大的机制,用于记录应用运行过程中的各种事件和诊断信息。这个文档集合是Log4j 1.2.15版本...
Log4j是Apache组织开发的一款广泛使用的Java日志框架,版本1.2.15是其历史的一个稳定版本。这个源码包包含了Log4j的核心组件和相关配置,便于开发者研究其内部工作原理,理解日志处理机制,以及进行定制化开发。 1....
apache-log4j-1.2.15
1. **配置Log4j**:需要创建一个`log4j.properties`或`log4j.xml`文件来指定日志级别(如DEBUG、INFO、WARN、ERROR等)、输出目的地(控制台、文件、邮件等)和日志格式。 2. **导入依赖**:确保你的项目正确地包含...
log4j_1.2.15 API chm版本
Log4j 1.2.15是1.x系列的一个稳定版本,虽然现在已经有Log4j 2.x版本,但1.2.x系列仍被广泛使用。 二、主要组件 1. **Logger**:日志记录器是Log4j的核心,它是整个日志系统的入口。每个应用程序可以有多个Logger...
Log4j 1.2.15是该框架的一个较旧版本,发布于2009年,尽管如此,它仍然被许多遗留系统广泛使用。这个zip文件"apache-log4j-1.2.15.zip"包含了Log4j 1.2.15的所有组件和资源,便于开发者集成到他们的项目中。 1. **...
com.springsource.org.apache.log4j-1.2.15.jar
log4net是Apache软件基金会的一个开源项目,提供了一个强大的、灵活的日志记录框架,适用于.NET Framework。本文将详细介绍log4net-1.2.15组件包的安装、配置以及如何在C#项目中进行使用。 **一、安装log4net组件包...