当前位置: 首页 > 知识库问答 >
问题:

线程“main”java中出现异常。lang.NoClassDefFoundError:org/dom4j/io/SAXReader

王君墨
2023-03-14

我正在尝试编译并运行以下类:

import org.dom4j.io.SAXReader;
import org.dom4j.Document;
import org.dom4j.Element;

import java.net.URL;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.util.List;

/**
 * Java client program to demonstrate how to access Hudson remote API.
 *
 * @author Kohsuke Kawaguchi
 * @see http://hudson.gotdns.com/wiki/display/HUDSON/Remote+access+API
 */
public class Main {
    @SuppressWarnings("unchecked")
    public static void main(String[] args) throws Exception {
        // every Hudson model object exposes the .../api/xml, but in this example
        // we'll just take the root object as an example
        URL url = new URL("html" target="_blank">http://deadlock.netbeans.org/hudson/api/xml");

        // if you are calling security-enabled Hudson and
        // need to invoke operations and APIs that are protected,
        // consult the 'SecuredMain" class
        // in this package for an example using HttpClient.

        // read it into DOM.
        Document dom = new SAXReader().read(url);

        // scan through the job list and print its status
        for( Element job : (List<Element>)dom.getRootElement().elements("job")) {
        //for( Element job : (java.util.List<org.dom4j.Element>)dom.getRootElement().elements("job")) {
            System.out.println(String.format("Name:%s\tStatus:%s",
                job.elementText("name"), job.elementText("color")));
        }
    }
}

我使用以下方法编译它:

javac -cp /usr/share/java/dom4j.jar Main.java 

但当我试图运行它时,我会遇到一个异常:

java主

线程“main”java中出现异常。lang.NoClassDefFoundError:org/dom4j/io/SAXReader位于Main。main(main.java:31)由:java引起。lang.ClassNotFoundException:org。dom4j。木卫一。java的SAXReader。网URLClassLoader$1。在java上运行(URLClassLoader.java:202)。安全访问控制器。java上的doPrivileged(本机方法)。网URLClassLoader。java上的findClass(URLClassLoader.java:190)。lang.ClassLoader。sun上的loadClass(ClassLoader.java:306)。杂项。启动器$AppClassLoader。java上的loadClass(Launcher.java:301)。lang.ClassLoader。loadClass(ClassLoader.java:247)。。。还有一个

如果我查看jar文件:

jar-tvf/usr/share/java/dom4j。jar | grep SAXReader*

1061周一2010年1月25日09:34:34东部时间org/dom4j/io/SAXReader$SAXEntityResolver。课程13170周一一月25日09:34:34东部时间2010 org/dom4j/io/SAXReader。班

JAR中存在“缺少”类。有没有办法解决这个问题?

共有1个答案

鞠自明
2023-03-14

运行时也需要使用相同的类路径

java -cp /usr/share/java/dom4j.jar;. Main
 类似资料: