我想在普通的旧版Java应用中使用Jetty及其网络套接字API。我已经遵循了一些很好的教程,但已经卡住了。我正在尝试使用eclipse构建,我不使用maven。我遇到了这个编译错误:
The type javax.servlet.http.HttpServletResponse cannot be resolved. It is indirectly referenced from required .class files
当我为服务器提供此代码时:
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.websocket.server.WebSocketHandler;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
public class MyServer {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
WebSocketHandler wsHandler = new WebSocketHandler() {
@Override
public void configure(WebSocketServletFactory factory) {
factory.register(MySocket.class);
}
};
server.setHandler(wsHandler);
server.start();
server.join();
}
}
我正在开发使用eclipse(而不是maven或任何其他工具),我已经从Jetty下载中添加了我认为必要的.jar文件到项目中:
javax.websocket-api-1.0.jar
websocket-api-9.2.8.v20150217.jar
websocket-server-9.2.8.v20150217.jar
websocket-servlet-9.2.8.v20150217.jar
jetty-server-9.2.8.v20150217.jar
jetty-servlet-9.2.8.v20150217.jar
有人可以解释在没有maven的非EE应用程序中在eclipse中使用Jetty的设置过程吗?
答案 0 :(得分:2)
您需要添加修复错误的servlet-api-3.1.0.jar:http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.1.0
这个链接,解释了如何在没有maven的情况下使用Jetty,可能会有所帮助https://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld
答案 1 :(得分:1)
例如:
http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-server/9.2.8.v20150217
(你错过了lib'javax.servlet v3.1.0')