在码头 10/11 版本中找不到 start.ini

could not find start.ini in jetty 10/11 versions

我正在将 jetty 9 更新为 jetty11,但无法在 jetty11 中找到 start.ini,因为它在 jetty9 中。 我使用 start.ini 来启用 'requestlog'、'http-forwarded'、'session-cache-hash'、jetty.session.evictionPolicy、'console-capture'、'slf4j-simple-impl' 和 [=31 等模块=].

我在互联网上搜索并参考了(以下link),但没有找到任何相关内容。

  1. https://github.com/eclipse/jetty.project/releases/tag/jetty-10.0.6
  2. https://www.eclipse.org/jetty/documentation/jetty-10/operations_guide.php

没有像 Jetty 9 那样的“分布”。

从历史上看,从 Jetty 6 到 Jetty 8 天的“分发”tarball/zip 是一个完整的 Jetty 服务器,带有配置的演示,您可以对其进行变异/编辑/更改/删除/修改/破坏为您的实例设置。

这在 Jetty 9 中有所改变,我们鼓励为 ${jetty.home}${jetty.base} 使用单独的目录。

因此 Jetty 9 中的“分发”存档已更改为...

  • jetty-home-<ver>.tar.gz
  • 带有警告您不要直接使用 jetty-homestart.ini
  • /demo-base 为例 ${jetty.base}
[jetty-distribution-9.4.43.v20210624]$ java -jar start.jar 
2021-08-03 08:30:38.725:INFO::main: Logging initialized @548ms to org.eclipse.jetty.util.log.StdErrLog
2021-08-03 08:30:38.926:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended.  See documentation at https://www.eclipse.org/jetty/documentation/current/startup.html
2021-08-03 08:30:38.958:INFO:oejs.Server:main: jetty-9.4.43.v20210624; built: 2021-06-24T15:27:24.306Z; git: 704864489c7e58c0a4c6c969721e9b9a3f25416b; jvm 11.0.10+9

看到“WARN”告诉你“这个 Jetty 实例不是来自单独的 {jetty.base} 目录的 运行ning,不推荐这样做。请参阅文档 https://www.eclipse.org/jetty/documentation/current/startup.html"

Jetty 9 版本是一个临时模型,我们仍然允许使用老式的 Jetty 8(及更早版本)技术,但该模型是一个坏主意,现在仍然是一个坏主意。

到 Jetty 10 发布时,我们不再发布“发行版”,而只发布“jetty-home”。

为什么?

好吧,将您的实例配置与 jetty-home 分开意味着您可以非常轻松地升级(甚至降级)。

你需要做什么?

  1. 下载 jetty-home 存档。
  2. 将 jetty-home 存档解压到一个新目录中。 (不要更改 jetty-home 目录中的任何内容,将其视为只读。这很重要)
  3. 在某处为您的 ${jetty.base} 创建一个新目录(不嵌套在 jetty-home 目录中)
  4. 使用您 need/want
  5. 的任何模块配置您的 ${jetty.base}
  6. 安装您的网络应用 and/or 额外的 jar 或配置到您的 ${jetty.base}
  7. cd 到您的 ${jetty.base} 目录和 运行 jetty-home/start.jar

看起来像这样...

$ cd $HOME/jetty
# Download archive
$ curl -O https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/10.0.6/jetty-home-10.0.6.tar.gz
# Unpack archive
$ tar -zxf jetty-home-10.0.6.tar.gz
# Create your ${jetty-base}
$ mkdir my-jetty-base
$ cd my-jetty-base
# Configure your ${jetty.base}
$ java -jar ../jetty-home-10.0.6/start.jar --add-modules=deploy,http
$ cp $HOME/code/myapp.war webapps/
# Execute your ${jetty.base} instance
$ java -jar ../jetty-home-10.0.6/start.jar

现在假设新版本的 Jetty 10.x 发布了,你现在做什么?

下载新的 jetty-home 存档,解压并使用(无需配置步骤)

# Download archive
$ curl -O https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/10.0.7/jetty-home-10.0.7.tar.gz
# Unpack archive
$ tar -zxf jetty-home-10.0.7.tar.gz
# Change to your existing ${jetty.base}
$ cd my-jetty-base
# Execute your ${jetty.base} instance
$ java -jar ../jetty-home-10.0.7/start.jar

您甚至可以将您的 ${jetty.base} 配置保留在 git 存储库中,或者按原样将其移动到 jetty.docker 映像,而无需关心 Jetty 的版本(好吧,您必须关心 Jetty 10 到 Jetty 11 的差异,但这是由于雅加达“大爆炸”,而不是 Jetty 损坏的任何东西)