我使用maven插件在我的ecplise中构建一个Web应用程序 我想在jetty中调试它。
这是我的代码:
@WebServlet(name="Startup",value="/", urlPatterns = {}, loadOnStartup = 1)
public class Startup extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see Servlet#init(ServletConfig)
*/
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("start up");
QCloud.setupSDK();
}
这是pom:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.0.M2</version>
<configuration>
<stopPort>8889</stopPort>
<useTestClasspath>false</useTestClasspath>
<webAppConfig>
<contextPath>/${project.name}</contextPath>
</webAppConfig>
</configuration>
</plugin>
当我启动jetty服务器时。没有错误显示。我可以看到索引页面。 但我无法看到我的servlet。似乎servlet没有使用jetty服务器初始化。 然后我构建一个战争并将其放在tomcat服务器的webapps中。 一切顺利,servlet init成功,谁知道为什么?
答案 0 :(得分:2)
我不知道这是不是你的情况,但我遇到了与Jetty类似的问题。
使用注释时,不再需要 web.xml 文件,所以如果你拥有它然后将其删除(即使内部没有映射的servlet),它也会成功。
另请注意 值 或 urlPatterns 是 @WebServlet 注释,但不应同时使用两者。