java - 线程中的 NoClassDefFoundError

标签 java multithreading classpath

您好,我在运行线程时遇到异常 NoClassDefFoundError。 当我在没有线程的情况下执行时,这个过程运行良好,但是当我执行 start 方法时,我在不同的语句中得到了这个错误

线程是否有可能获得与主线程不同的类路径?

谢谢 编辑以添加代码

运行方法:

public void run(){
    try{
        boolean startAction = HeapThread.addAction(idCliente, idThread, Constants.ACTION_CREATE_TOPIC);
        if (!startAction) {
            synchronized (this){
                this.wait();
            }
        }
        createTopic();
    }
    catch(Exception ex){
        log.error("Error", ex);
    }
    finally {
        Long nextIdThread = HeapThread.getNextAction(idCliente, idThread, Constants.ACTION_CREATE_TOPIC);
        if (nextIdThread > 0){
            log.debug("Thread");
            ThreadState thread = HeapThread.getState(nextIdThread);
            synchronized (thread) {
                thread.notify();
            }
        }
    }
}

createTopic() 函数调用 searchBlog() 并且我调用它

try{
        sessionId = SessionWS.createSession(url, false);
        CrawlerSearch crawler = new CrawlerSearchAPIService(new URL(url + Constants.URL_CRAWLER), new QName(Constants.QNAME_CRAWLER, "CrawlerSearchAPIService")).getCrawlerSearchAPIPort();
        // para cada topico obtnemos 10 blogs
        for (Long idTopic : blogsTopics.keySet()) {

...

完整的异常(exception)是:

java.lang.NoClassDefFoundError: com/befasoft/common/business/webservices/client/Session
at com.befasoft.common.business.webservices.client.SessionAPIService.getSessionAPIPort(SessionAPIService.java:56)
at com.befasoft.common.business.webservices.SessionWS.createSession(SessionWS.java:21)
at com.humanlike.web.tools.Crawler.searchBlogs(Crawler.java:50)
at com.humanlike.web.theads.CreateTopic.createTopic(CreateTopic.java:164)
at com.humanlike.web.theads.CreateTopic.run(CreateTopic.java:63)

最佳答案

我的猜测是 com.befasoft.common.business.webservices.client.Session 之前因 ExceptionInInitializerError 而失败。这为后续调用提供了 NoClassDefFoundError。从头检查日志。

关于java - 线程中的 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13136509/

相关文章:

java - 具有成本效益的移动数据收集

java - java中遍历Avl树

java - Tomcat-servlet-api.jar 是否加载到类路径?

java - Volley 补丁错误

java - BatchUpdateException updateCounts 始终为 1

multithreading - 多核系统上的并行问题之外的线程有什么用?

java - Java中有没有办法让事件带有变量?里面的例子

java - 在多线程中使用 easymock

java - Seam 导出 Excel 格式的数据表

java - 如何在eclipse中查找类路径中的文件