ECLIPSE:项目中现有类的ClassNotFoundException

时间:2015-03-26 23:19:01

标签: java eclipse servlets classnotfoundexception url-pattern

所以我在Eclipse上获得了这个项目的目录结构:

src
     br.com
        ...
     br.com.caelum
        ...
     br.com.caelum.agenda.servlet
        ...
     br.com.caelum.mvc.logica
        ...
     br.com.caelum.mvc.servlet
        ...
        ControllerServlet.java
     br.com.caelum.servlet
        ...

在我的web.xml文件中,我将其用于映射ControllerServlet.java类:

<servlet>
    <servlet-name>servletDeControle</servlet-name>
    <servlet-class>
        br.com.caelum.mvc.servlet.ControllerServlet
    </servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>servletDeControle</servlet-name>
    <url-pattern>/mvc</url-pattern>
</servlet-mapping> 

但是当我访问/mvc网址时,它会返回classNotFoundException。同一个src文件夹中的其他类似乎工作正常,但我发现自己无法更改其URL模式。

为什么?

编辑:这是完整的错误堆栈跟踪:

javax.servlet.ServletException: Error instantiating servlet class br.com.caelum.mvc.servlet.ControllerServlet
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
    org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)
root cause

java.lang.ClassNotFoundException: br.com.caelum.mvc.servlet.ControllerServlet
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
    org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)

0 个答案:

没有答案