Jetty嵌入式 - 在SelectChannelConnector和setPort

时间:2016-02-06 21:46:25

标签: jetty embedded-jetty

我想将jetty作为模块集成,以用作我的应用程序的服务器。

我使用maven为jetty加载依赖项,如下所示:

<dependency>
    <groupId>org.eclipse.jetty.aggregate</groupId>
    <artifactId>jetty-all</artifactId>
    <version>9.3.7.v20160115</version>
</dependency>

我正在按照本教程构建我的服务器https://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty#Configuring_Connectors

这是我想要运行的代码:

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.ResourceHandler;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.server.AbstractConnector;

public class FileServer {
    public static void main(String[] args) throws Exception {
        Server server = new Server();
        SelectChannelConnector connector = new SelectChannelConnector();
        connector.setPort(8080);
        server.addConnector(connector);


ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{"index.html"});

resource_handler.setResourceBase(".");

HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[]{resource_handler, new DefaultHandler()});
server.setHandler(handlers);

server.start();
server.join();

    }
}

但是我在这部分中遇到了错误:

SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);

它既不能检测SelectChannelConnector也不能检测setPort()!

有任何帮助吗?感谢

1 个答案:

答案 0 :(得分:1)

该维基页面开头的巨型红色框告诉你......

  

Jetty 7和Jetty 8现在已经EOL(生命终结)

     

正在使用Jetty 9执行所有开发和稳定版本。

     

此Wiki已正式过时,所有内容均已移至Jetty Documentation Hub

     

直接链接到更新的文档:http://www.eclipse.org/jetty/documentation/current/embedding-jetty.html

简而言之,您不能在Jetty 9上使用Jetty 8代码和机制。

按照Jetty 9文档的链接查看最新文档和代码示例