我试图将jetty服务器和servlet从版本9.2.2更新到版本9.3.8 更新我的pom.xml文件后,我得到一些错误,如ServletContextHandler和ServletHolder都找不到!
这是我的pom.xml
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.3.8.v20160314</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
<version>9.3.8.v20160314</version>
</dependency>
这是我的JettyServer类
public static void start() throws Exception
{
Server server = new Server(Configuration.getInstance().getPortServer());
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
ServletHolder h = new ServletHolder(new HttpServletDispatcher());
h.setInitParameter("javax.ws.rs.Application", "de.jettyserver.Services");
context.addServlet(h, "/*");
server.setHandler(context);
server.start();
server.join();
LOGGER.debug("JettyServer started");
}
和错误
[ERROR] /C:/..../jettyserver/JettyServer.java:[4,33] package org.eclipse.jetty.servlet does not exist
[ERROR]/C:/../jettyserver/JettyServer.java:[5,33] package org.eclipse.jetty.servlet does not exist
[ERROR] /C:/../jettyserver/JettyServer.java:[27,17] cannot find symbol symbol: class ServletContextHandler location: class de.tuberlin.snet.sonic.jettyserver.JettyServer
[ERROR] /C:/../jettyserver/JettyServer.java:[27,53] cannot find symbol symbol: class ServletContextHandler location: class de.tuberlin.snet.sonic.jettyserver.JettyServer
[ERROR] /C:/../jettyserver/JettyServer.java:[27,75] cannot find symbol symbol: variable ServletContextHandler location: class de.tuberlin.snet.sonic.jettyserver.JettyServer
答案 0 :(得分:5)
你的依赖关系中有一个拼写错误。
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId> <!-- not plural! -->
<version>9.3.8.v20160314</version>
</dependency>