Olá a todos. Procurei por problema parecido com o meu e não achei a solução…
Seguinte, estou tentando fazer o deploy de uma aplicação em uma máquina teste aqui, mas não está funcionando.
Quando tento acessar http://localhost:8080/first-web-study/teste dá HTTP Status 500.
Exception:
javax.servlet.ServletException: Wrapper cannot find servlet class java.com.FirstServlet or a class it depends on
Stack trace:
exception
javax.servlet.ServletException: Wrapper cannot find servlet class java.com.FirstServlet or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)
root cause
java.lang.ClassNotFoundException: java.com.FirstServlet
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)
Estou usando uma task ant para a tarefa… Segue o web.xml e o build.xml que estou usando
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>java.com.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/teste</url-pattern>
</servlet-mapping>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<project name="first-web-study" basedir="." default="deploy">
<property name="deployment.file.properties" value="${basedir}/deployment.properties"/>
<property file="${deployment.file.properties}"/>
<property name="deployment.home" value="${tomcat.home}/webapps/${context.root}"/>
<property name="src" value="${basedir}/src"/>
<property name="build" value="${basedir}/bin"/>
<property name="lib" value="${basedir}/webapp/WEB-INF/lib"/>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="Apaga resultado de um deploy">
<delete dir="${deployment.home}"/>
<delete dir="${build}"/>
</target>
<!-- - - - - - - - - - - - - - - - - -
target: init
- - - - - - - - - - - - - - - - - -->
<target name="init" depends="clean">
<mkdir dir="${deployment.home}"/>
<mkdir dir="${build}"/>
</target>
<!-- =================================
target: compile
================================= -->
<target name="compile" depends="init" description="Compila arquivos *.java e deixa os *.class na pasta bin">
<javac srcdir="${src}" destdir="${build}">
<classpath>
<fileset dir="${lib}" includes="**/*.jar"/>
</classpath>
</javac>
</target>
<!-- =================================
target: deploy
================================= -->
<target name="deploy" depends="compile" description="Copia arquivos necessarios para tomcat/webapp">
<copy todir="${deployment.home}">
<fileset dir="${basedir}/webapp" />
</copy>
<mkdir dir="${deployment.home}/WEB-INF/classes"/>
<copy todir="${deployment.home}/WEB-INF/classes">
<fileset dir="${build}" includes="**/*.class"/>
</copy>
</target>
</project>
Alguém sabe qual é o problema ai?
Código da servlet
package java.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FirstServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
out.println("<HTML>");
out.println("<BODY>");
out.println("<h1> TESTE</h1>");
out.println("First exercise with servlets");
out.println("</BODY>");
out.println("</HTML>");
}
}
Desde já obrigado!!
