Eclipse似乎未编译servlet,从而导致java.lang.ClassNotFoundException [英] Eclipse does not seem to compile servlet, causing java.lang.ClassNotFoundException
问题描述
目前,我正在使用Ubuntu 12.04LTS,Eclipse IDE和Apache Tomcat 7.0.27,但我没有完成任务。
Currently I am using Ubuntu 12.04LTS , Eclipse IDE and Apache Tomcat 7.0.27 and I am not getting the job done.
我制作了一个简单的jsp页面 WebContent / index.jsp中的 index.jsp。我在程序包 com.pack.web中创建了一个名为 EmployeeClass的servlet。
在Jsp页面中,我有一个带有get方法和操作的表单,如下所示:
I made a simple jsp page "index.jsp" which is in "WebContent/index.jsp". I made a servlet called "EmployeeClass" which is inside the package "com.pack.web". In Jsp page I have a form with get method and a action as follow:
<form method="GET" action="hidden.do">
在web.xml中,我也有:
In web.xml I also have:
<servlet>
<servlet-name>Searcher</servlet-name>
<servlet-class>com.pack.web.EmployeeClass</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Searcher</servlet-name>
<url-pattern>/hidden.do</url-pattern>
</servlet-mapping>
我制作了一个简单的servlet EmployeeClass,它在软件包中:
I made a simple servlet "EmployeeClass", it's in package:
package com.pack.web;
在此servlet中,我有一个doGet方法,如:
in this servlet I have a doGet method as:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("Something is happening");
}
我终于然后运行了我的项目,并点击了提交按钮,砰此:
I finally then run my project and after hitting the submit button, bang I have this:
javax.servlet.ServletException: Error instantiating servlet class com.pack.web.EmployeeClass
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:662)
根本原因
java.lang.ClassNotFoundException: com.pack.web.EmployeeClass
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:662)
推荐答案
最后,在2周15小时和34分钟后,我找到了解决方案。通过打开显然被意外关闭的自动构建解决了该问题。
Finally at last after 2 weeks 15hrs and 34min I found the solution. The problem was solved by turning on automatic build which was apparently accidentally turned off.
Project->自动构建
Project -> Build Automatically
这篇关于Eclipse似乎未编译servlet,从而导致java.lang.ClassNotFoundException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!