2014-01-10 113 views
1

我正在使用MyEclipse 9和Tomcat7.0。我采取了最新的代码并部署在Tomcat 7中并启动了服务器。立即我得到了如下所述的错误日志。在MyEclipse中启动Tomcat 7服务器时出现ClassNotFoundException异常

INFO: The listener "org.apache.myfaces.webapp.StartupServletContextListener" is already configured for this context. The duplicate definition has been ignored. 
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Error configuring application listener of class com.aap.apweb.servlet.APServletContextListener 
java.lang.ClassNotFoundException: com.aap.apweb.servlet.APServletContextListener 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397) 
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4537) 
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5097) 
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5092) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Error configuring application listener of class com.aap.apweb.servlet.APHTTPSessionListener 
java.lang.ClassNotFoundException: com.aap.apweb.servlet.APHTTPSessionListener 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397) 
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4537) 
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5097) 
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5092) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Skipped installing application listeners due to previous error(s) 
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/apweb] startup failed due to previous errors 
Jan 10, 2014 5:53:41 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 
SEVERE: The web application [/apweb] registered the JDBC driver [net.sourceforge.jtds.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 
Jan 10, 2014 5:53:41 PM org.apache.coyote.AbstractProtocolHandler start 
INFO: Starting ProtocolHandler ["http-apr-8080"] 
Jan 10, 2014 5:53:41 PM org.apache.coyote.AbstractProtocolHandler start 
INFO: Starting ProtocolHandler ["ajp-apr-8009"] 
Jan 10, 2014 5:53:41 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 13243 ms 

我觉得必须设置罐子路径。但我无法找到它。

+0

在我看来,应用程序的web.xml引用了一个监听器类,但该监听器的实际.class文件实际上并未部署到服务器。如果是这样,应用程序的部署程序集或构建路径可能会在Eclipse中严重设置。 – Gimby

回答

0

按这条线从日志:

The web application [/apweb] registered the JDBC driver [net.sourceforge.jtds.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 

我加入了DB2 JDBC 1.6瓶(db2jcc4.jar and db2jcc4_license_cisuz.jar)到我的项目构建路径。这些jar在重启服务器时解决了我的问题。它开始没有任何问题。

感谢所有极客回应我。

1

项目

右键然后去构建路径 - >在库添加库窗格中。

然后选择服务器运行时然后添加的Apache Tomcat,然后尝试运行应用程序。

+0

我没有看到任何选项,像服务器运行时间那里.. – Mdhar9e

0

您可以将所需的项目导出为jar文件,并将它们放在WEB-INF \ lib中的.WAR文件中。这将确保您的jar文件中的类在应用程序启动过程中得到加载。

2

com.aap.apweb.servlet.APHTTPSessionListener是你的一个类吗?我没有在Google上获得任何点击,所以我猜测它是。您需要确保已经在构建路径中设置了所有依赖项并相应地设置了部署策略。项目的部署策略可以通过右键单击项目,选择Properties,然后进入MyEclipse/Web页面并单击Deployment选项卡来调整。在该选项卡上,您可以选择使用工作台设置(在这种情况下,大多数字段将变灰)或不选择(只需取消选择“使用工作台默认设置”)。

请注意,最新版本的MyEclipse通过部署程序集为您提供了对部署更加明确的控制。 MyEclipse 9的许可证也适用于MyEclipse 2014,可从www.myeclipseide.com网站下载。

+0

我试过你的答案,但没有解决我的问题。随着你的答案我知道如何找到应用程序的上下文根。无论如何,我找到了答案。 – Mdhar9e

0

我在Eclipse Luna环境中启动tomcat服务器时遇到同样的错误。而我的操作系统是Ubuntu。 其实问题是当我建立项目的网络模块不创建M2e-wtp maven文件夹。当我们启动tomcat服务器时,它看不到maven的依赖关系。这是一个例外。 我通过下载最新的Mars eclipse解决了这个问题。我再次检查了我的项目。 干净安装我的项目后,问题已解决。它工作正常。

相关问题