参考资料

  1. Jobber 是一个轻量级的任务调度工具
  2. Chronograf 是 InfluxData 公司开发的开源可视化工具
  3. ClefOS 是一款基于开源技术的轻量级 Linux 发行版
  4. DweebUI是一个基于Stable Diffusion WebUI的轻量级分支
  5. RethinkDB 是一个开源的分布式 NoSQL 数据库,专为实时应用设计
  6. Swift是苹果公司开发的一种强大且直观的编程语言
  7. ArangoDB是一个原生多模型数据库
  8. Docker的安装与配置

Jetty 是一个轻量级的开源 Java Web 服务器和 Servlet 容器,由 Eclipse 基金会维护

Jetty 简介

Jetty 是一个轻量级的开源 Java Web 服务器和 Servlet 容器,由 Eclipse 基金会维护。它被广泛用于嵌入式系统和生产环境中,具有高性能、模块化和易扩展的特点。

特点

  • 轻量级:核心 jar 文件小,适合嵌入式应用。

  • 高性能:基于 NIO(非阻塞 I/O)设计,处理高并发请求高效。

  • 模块化:支持按需加载组件,减少资源占用。

  • 嵌入式支持:可直接集成到应用程序中。

  • 支持最新标准:兼容 Servlet、WebSocket、HTTP/2 等协议。

最新更新内容及时间

  • 最新版本:Jetty 11.0.20(截至 2024 年 7 月)

  • 更新内容

    • 修复了多个安全漏洞。

    • 改进了 HTTP/2 和 WebSocket 的性能。

    • 增强了对 JDK 17 的支持。

镜像下载地址

  • 官方镜像下载https://www.eclipse.org/jetty/download.html

  • Maven 依赖

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <version>11.0.20</version>
    </dependency>

官网地址

文档地址

Docker 安装示例

# 拉取官方镜像
docker pull jetty:latest

# 运行容器
docker run -d -p 8080:8080 --name myjetty jetty

YAML 设置教程(以 jetty.yml 为例)

server:
  port: 8080
  contextPath: "/myapp"
  connectors:
    - type: http
      port: 8080
  resources:
    - type: webapp
      resourceBase: "/var/lib/jetty/webapps"

常用错误及问题

  1. 端口冲突

    • 错误信息:java.net.BindException: Address already in use

    • 解决方法:更换端口或关闭占用端口的程序。

  2. 类加载问题

    • 错误信息:ClassNotFoundExceptionNoClassDefFoundError

    • 解决方法:检查依赖是否完整,确保类路径正确。

  3. 内存不足

    • 错误信息:java.lang.OutOfMemoryError

    • 解决方法:调整 JVM 内存参数(如 -Xmx512m)。

  4. Servlet 未注册

    • 错误信息:404 Not Found

    • 解决方法:检查 web.xml 或注解配置是否正确。

  5. HTTPS 配置失败

    • 错误信息:SSLHandshakeException

    • 解决方法:确保证书路径和密钥库配置正确。