【问题标题】:Setting up Jetty server设置码头服务器
【发布时间】:2018-03-28 20:33:44
【问题描述】:

我使用带有 xml 配置的 jetty-server 和 jetty-webapp 包,但它显示错误: “线程“主”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>

然后网络应用程序启动没有任何错误。

包的版本是9.4.9.v20180320

【问题讨论】:

标签: java server jetty


【解决方案1】:

SelectChannelConnector alternative class in Jetty 9 and above

Jetty 9 及以上版本似乎没有使用这个类。请改用ServerConnector

【讨论】:

  • 此时这可能应该在社区答案/维基中吧?完全忘记了之前的答案。
【解决方案2】:

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 工件,或查看 /etc/*.xml 文件以获取示例的 jetty-distribution 工件。

看看:

  • 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 层

【讨论】:

    猜你喜欢
    • 2015-02-04
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多