在Log4j 2.0中找到ClassNotFoundException [英] ClassNotFoundException found in Log4j 2.0
问题描述
im已为log4j12-api-beta2.jar设置了构建路径,但它提供了
出现以下错误,请帮助我解决此问题
我的代码如下
Java文件:
im already set the build path for log4j12-api-beta2.jar but it gives the
following error please help me to solve this problem
my code is follows
java file:
package com.sst.log4j;
class Product {
private int productId;
private String productName;
public int getProductId() {
return productId;
}
public void setProductId(int productId) {
this.productId = productId;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public Product(int productId, String productName) {
super();
this.productId = productId;
this.productName = productName;
}
}
我的Main()文件是:
and my Main() file is:
package com.sst.log4j;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
public class ProductMain {
/**
* @param args
*/
static Logger log=LogManager.getLogger(Product.class.getName());
public static void main(String[] args) {
// TODO Auto-generated method stub
Product p1=new Product(1,"garlands");
System.out.println(p1.getProductName());
log.error(p1.getProductName());
}
}
它给出以下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/
log4j/LogManager
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.apache.log4j.LogManager.getLogger(LogManager.java:38)
at com.sst.log4j.ProductMain.main(ProductMain.java:14)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 14 more
推荐答案
我刚刚从此处下载了log4j 2.0: http://logging.apache.org/log4j/2.x/download.html
I just downloaded log4j 2.0 from here: http://logging.apache.org/log4j/2.x/download.html
我还没有使用过它,但是看起来您可能在类路径上同时需要log4j-api-2.0-beta2.jar
和log4j-core-2.0-beta2.jar
.我猜想api jar是这样,您可以进行编译,并且核心包含实现.
I haven't used it yet, but looks like you probably need both log4j-api-2.0-beta2.jar
as well as log4j-core-2.0-beta2.jar
on the classpath. I'm guessing the api jar is so you can compile and the core contains the implementation.
这篇关于在Log4j 2.0中找到ClassNotFoundException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!