设置Jetty服务器

时间:2018-03-28 20:33:44

标签: java server jetty

我使用带有xml配置的jetty-server和jetty-webapp包但它显示错误: "线程中的例外" main" java.lang.ClassNotFoundException:org.eclipse.jetty.server.nio.SelectChannelConnector"

这个错误来自什么?

如果评论这部分xml配置:

<Call name="addConnector">
    <Arg>
        <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
            <Set name="port">8080</Set>
            <Set name="host">88.147.197.118</Set>
        </New>
    </Arg>
</Call>

然后web-app启动时没有任何错误。

包的版本是9.4.9.v20180320

2 个答案:

答案 0 :(得分:1)

SelectChannelConnector alternative class in Jetty 9 and above

似乎此类不适用于Jetty 9及更高版本。请改用ServerConnector

答案 1 :(得分:0)

org.eclipse.jetty.server.nio.SelectChannelConnector来自Jetty 7.x和8.x时间段。 Long ago deprecated and EOL.

Jetty 9.x中的连接器基础架构从那时起发生了巨大变化。 主要是由于SPDY和HTTP / 2的压力(以及TLS / 1.2和ALPN)。

它远远超出了在Stackoverflow答案中描述整个新连接器架构的范围。

但是,如果您只是在寻找示例,我建议您下载jetty-home工件或jetty-distribution工件,查看/etc/*.xml文件以获取示例。

看看:

  • jetty-http.xml - 用于正常的HTTP连接器设置(仅限HTTP / 1.x)
  • jetty-https.xml - 适用于普通HTTPS(SSL / TLS)连接器(仅限HTTP / 1.x)
  • jetty-http2.xml - 对于典型的基于HTTP / 2的连接器,退回到HTTP / 1.1
  • jetty-ssl.xml - 有关如何为HTTPS配置SSL层