如何禁用 Jetty11 中的码头图标

How to disable the jetty icon in Jetty11

我正在将 Jetty9 更新到 Jetty11,并且需要知道如何禁用 Jetty11 中的服务器图标。 我曾经对 Jetty9.

的 etc\jetty.XML 进行了以下更改
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler">
            <Set name="serveIcon">false</Set>
</New>

最简单的解决方案就是制作您自己的 favicon.ico 并将其作为静态文件放入您的 ROOT 上下文中以供使用。

否则,如果您想使用 ${jetty.base} 调整现有的 id="DefaultHandler" 组件,请查看此示例 ${jetty.base} ...

$ tree -F no-favico-base/
no-favico-base/
├── etc/
│   └── tweak-defaulthandler.xml
├── resources/
│   └── jetty-logging.properties
├── start.d/
│   ├── deploy.ini
│   ├── http.ini
│   └── tweaks.ini
└── webapps/

4 directories, 5 files

它有 2 个文件用于完成此操作。

etc/tweak-defaulthandler.xml

<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
          "http://www.eclipse.org/jetty/configure_10.dtd">
<Configure id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler">
  <Set name="serveIcon">false</Set>
</Configure>

配置先前在 ${jetty.home}/etc/jetty.xml 中定义的现有 id="DefaultHandler"

还有一个 ini,用于将此 xml 添加到配置中。 这个名字可以是任何你想要的,我只是选择了“tweak”,因为我喜欢把我所做的所有调整都放在这个 ini 中。

start.d/tweak.ini

etc/tweak-defaulthandler.xml

您可以使用 --list-config

查看 XML 的执行顺序
$ java -jar /opt/jetty/jetty-home-10.0.6/start.jar --list-config
...(snip)...
Jetty Active XMLs:
------------------
 ${jetty.home}/etc/jetty-bytebufferpool.xml
 ${jetty.home}/etc/jetty-threadpool.xml
 ${jetty.home}/etc/jetty.xml
 ${jetty.home}/etc/jetty-webapp.xml
 ${jetty.home}/etc/jetty-deploy.xml
 ${jetty.home}/etc/jetty-http.xml
 ${jetty.base}/etc/tweak-defaulthandler.xml