首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse - web应用程序Tomcat部署被借用

Eclipse - web应用程序Tomcat部署被借用
EN

Stack Overflow用户
提问于 2014-02-13 16:46:13
回答 1查看 103关注 0票数 0

任何帮助都将不胜感激。我正在运行一个web应用程序,它依赖于我工作空间中的另外两个项目。这两个项目进一步依赖于我工作区中的其他3个项目。工作区中的任何项目都没有错误。在Tomcat中运行web应用程序会产生以下错误:

java.lang.NoClassDefFoundError: com/tele/misc/DefaultApplicationModule

它是依赖项目的第一级中的一个类。直到最近,一切都运行得很好。这显然是某种类路径问题?对于如何在Eclipse元数据中找到并修复此问题,有什么建议吗?

更多详细信息:

控制台:

代码语言:javascript
复制
*******************************************************************
*** WARNING: Apache MyFaces-2 is running in DEVELOPMENT mode.   ***
***                                         ^^^^^^^^^^^         ***
*** Do NOT deploy to your live server(s) without changing this. ***
*** See Application#getProjectStage() for more information.     ***
*******************************************************************

Feb 13, 2014 1:41:18 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Feb 13, 2014 1:41:18 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/CRGen] startup failed due to previous errors
Feb 13, 2014 1:41:18 PM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class         za.co.huge.processor.CRToolContextListener
java.lang.NoClassDefFoundError: com/tele/misc/DefaultApplicationModule
    at za.co.huge.processor.ReportProcessor.<init>(ReportProcessor.java:30)
    at za.co.huge.processor.ReportProcessor.getInstance(ReportProcessor.java:41)
    at     za.co.huge.processor.CRToolContextListener.contextDestroyed(CRToolContextListener.java:22)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4927)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5573)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)

Feb 13, 2014 1:41:18 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Feb 13, 2014 1:41:18 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Feb 13, 2014 1:41:18 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2547 ms

所有这些都源于我的servlet上下文侦听器:

代码语言:javascript
复制
<!-- CRTool Context listener starts report processing Engine -->
<listener>
    <listener-class>za.co.huge.processor.CRToolContextListener</listener-class>
</listener>

在依赖项目的Guice模块上初始化时失败:

代码语言:javascript
复制
/* singleton design pattern - so only one service thread can be running */
private ReportProcessor(final long sleepTime){
    serviceThread = new ServiceThread(sleepTime);
    thread = new Thread(serviceThread);
    thread.setPriority(Thread.MIN_PRIORITY);
    final Injector injector = Guice.createInjector(new     DefaultApplicationModule());
//      final Injector injector = Guice.createInjector(new CommissionsModule(), new     DefaultApplicationModule());
//      ci = injector.getInstance(CommissionsImpl.class);
    }
EN

回答 1

Stack Overflow用户

发布于 2014-02-13 16:51:06

编译代码后,程序中每个类的.class文件就结束了。这些二进制文件是Java解释以执行程序的字节码。NoClassDefFoundError指示负责动态加载类的类加载器找不到您试图使用的类的.class文件。它可能表明您在执行代码时没有设置类路径选项。此链接说明如何在执行时设置类路径。http://en.wikipedia.org/wiki/Classpath_%28Java%29

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21749088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档