当前位置: 首页 > 面试题库 >

log4.properties应该在类路径上吗?

有睿
2023-03-14
问题内容

我在将log4j.properties文件放在类路径上时遇到一些问题。我可以在开发(Eclipse
Indigo)时使用它,但是,当我将应用程序导出为JAR时,则不能。

我为导出的JAR手工制作了MANIFEST.MF文件:

Manifest-Version: 1.0
Main-Class: main.Program
Class-Path: lib/log4j.properties lib/log4j-1.2.15.jar

然后将JAR放在此文件组织上:

folder
  |-------- app.jar
  |-------- lib
             |--------- log4j.properties
             |--------- log4j-1.2.15.jar

当我尝试运行app.jar时,他们找到了log4j.jar却没有找到log4j.properties:

log4j:WARN No appenders could be found for logger (main.Program).
log4j:WARN Please initialize the log4j system properly.

我的 log4j.properties 文件是这样的:

log4j.rootLogger=INFO, stdout, file

PATTERN=[%d] [%p] [%c{1}]: %m%n

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=${PATTERN}

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.File=${logger_file_path}
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=${PATTERN}

问题答案:

不要将log4j.properties自身放在类路径中,而应放在包含该文件的目录中。

Class-Path: lib lib/log4j-1.2.15.jar


 类似资料:
  • com.sun.tools.javac.主不在类路径上。 也许JAVA_HOME并不指向JDK。 当前设置为

  • 我有个问题。尝试改变版本(就像它在互联网上说的),但没有帮助。我已经读过了,这些答案修正了应用程序的类路径,使它包含一个单一的、兼容的org.springframework.plugin.core.pluginregistry版本,但它也没有帮助。 问题: 更正应用程序的类路径,使其包含Org.SpringFramework.http.Converter.Support.AllEncompassi

  • 问题内容: 谁能告诉我如何在OSX上添加到类路径? 问题答案: 如果要使计算机上的每个Java应用程序都可以使用一组特定的JAR文件(或.class文件),那么最好的选择是将这些文件添加到中。 或者,如果你想这样做的每一个Java应用程序,但只有当 你 的Mac OS X帐户运行它们,然后使用来代替。 编辑: 如果您只想对特定的应用程序执行此操作,如Thorbjørn所要求的,那么您将需要告诉我们

  • 我正在使用日食赫利俄斯,专家2.0.4 嗯,我用这句话导入了一个Maven WebProject到eclipse:< br > mvn org . Apache . Maven . plugins:Maven-eclipse-plugin:2.6:eclipse-Dwtpversion = 2.0 该项目有一个log4j.properties文件在"src/test/Resources"和另一个"

  • 问题内容: 我不太确定是什么原因导致的,因为清单中正确列出了它: 我还添加了来构建路径,并将其移至的顶部,但是它仍然给我同样的错误。 编辑:我完全重建了该项目,并且无法重现该错误。不知道是什么原因造成的。 问题答案: 我的项目有同样的问题。这是由于我的项目与我在项目中添加的库项目之间的android支持库版本冲突而发生的。将相同版本的android支持库放入您的项目和包含的库项目中,并清理构建 …