Java 如何修复eclipse或netBeans中的NoClassDefFoundError?
大家好,我用eclipse编写java项目并在eclipse中运行,但我遇到了错误,这是我的代码:Java 如何修复eclipse或netBeans中的NoClassDefFoundError?,java,eclipse,noclassdeffounderror,Java,Eclipse,Noclassdeffounderror,大家好,我用eclipse编写java项目并在eclipse中运行,但我遇到了错误,这是我的代码: package first; import com.hp.hpl.jena.reasoner.rulesys.*; import com.hp.hpl.jena.reasoner.*; import com.hp.hpl.jena.ontology.*; import java.io.*; //import com.hp.hpl.jena. import com.hp.hpl.jena.rdf.m
package first;
import com.hp.hpl.jena.reasoner.rulesys.*;
import com.hp.hpl.jena.reasoner.*;
import com.hp.hpl.jena.ontology.*;
import java.io.*;
//import com.hp.hpl.jena.
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.util.FileManager;
import java.util.*;
/**
*
* @author Zara-t
*/
public class First {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
System.out.println("hi");
First test=new First();
test.start();
}
private Model model;
public void start(){
String file = "D:\\arshad-comp\\terme2\\expertSys\\food.owl";
// create an empty model
Model model = ModelFactory.createDefaultModel();
// use the FileManager to find the input file
InputStream in = FileManager.get().open( file );
if (in == null) {
throw new IllegalArgumentException(
"File: " + file + " not found");
}
// read the RDF/XML file
model.read(in, null);
// write it to standard out
model.write(System.out);
}
}
我的项目位于c:\wamp\www\projectFolder中,我添加到项目中的库位于路径D:\arshad comp\terme2\expertSys\protege-5.0.0-beta-15\protege\u 5.0\u beta\test\bin中,这是我的类路径内容
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="D:/arshad-comp/terme2/expertSys/protege-5.0.0-beta-15/Protege_5.0_beta/jena.zip"/>
<classpathentry kind="output" path="bin"/>
</classpath>
这是错误行:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at com.hp.hpl.jena.rdf.model.impl.PropertyImpl.<clinit>(PropertyImpl.java:61)
at com.hp.hpl.jena.enhanced.BuiltinPersonalities.<clinit>(BuiltinPersonalities.java:27)
at com.hp.hpl.jena.rdf.model.impl.ModelCom.<init>(ModelCom.java:51)
at com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:125)
at com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:119)
at first.First.start(First.java:35)
at first.First.main(First.java:28)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
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:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 7 more
Java Result: 1
线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/commons/logging/LogFactory
位于com.hp.hpl.jena.rdf.model.impl.PropertyImpl.(PropertyImpl.java:61)
在com.hp.hpl.jena.enhanced.BuiltinPersonalities.(BuiltinPersonalities.java:27)
在com.hp.hpl.jena.rdf.model.impl.ModelCom.(ModelCom.java:51)
位于com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:125)
在com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:119)上
first.first.start(first.java:35)
first.first.main(first.java:28)
原因:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory
在java.net.URLClassLoader$1.run(URLClassLoader.java:366)
在java.net.URLClassLoader$1.run(URLClassLoader.java:355)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:354)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:425)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 还有7个
Java结果:1
我真的不知道该怎么办:(我记不起我做了什么改变。mycode在1天前起作用了。我在互联网上做过任何解决方案
请帮助我jena在运行时需要LogFactory类,您可以在jena pom中看到对日志库的依赖,添加日志实用程序库将解决此问题。类:LogFactory位于commons日志中,您可以从您使用的日志API下载它,异常表明未找到日志API的jar?可能应该得到我不知道你的意思是哪个logger API。我只是将jena添加到我的项目库中。我下载log4j并将其作为外部jar添加到我的项目中(这是真的吗?),但当我再次运行项目时,同样的错误也会显示出来,对于像我这样的完整指南初学者,也可以使用此链接:)