[英]log4j: Write to a log file with a jar
我正在尝试使用log4j将日志打印到日志文件。 它运作完美。 但是当我将项目导出为jar文件并运行它时,出现错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at com.mkyong.HelloExample.<clinit>(HelloExample.java:7)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
项目结构如下https://www.mkyong.com/logging/log4j-hello-world-example/
有人可以帮忙吗?
当然。 您的问题是执行时需要包括log4j.jar
库。 您可以通过以下两种方式之一进行操作:
手动:如果在Eclipse中运行jar,则足以执行Run As> Run Configurations ...> classpath> Add JARS(或外部JAR)并选择log4j.jar
。
自动:将META-INF/MANIFEST.MF
文件包含一个类路径声明:
Class-Path: log4j.jar
(请参阅Oracle文档 )。
这种方式的优点是,即使在Eclipse外执行,您也不必在执行时包括库。 但是请记住将log4.jar
和您自己的jar一起分发。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.