You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetty 9启动失败:无法获取configure_10_0.dtd(HTTP 503错误)

解决Jetty 9.4.43启动时无法获取configure_10_0.dtd的问题

问题原因

Jetty 9.4.43启动时默认尝试从https://eclipse.dev/jetty/configure_10_0.dtd拉取DTD文件,但该地址当前服务不可用(返回HTTP 503),导致XML配置解析失败,启动中断。

解决方法

1. 本地引入DTD文件

  • 从Jetty 9.4.x的发布包、官方源码仓库或Maven仓库中提取对应版本的configure_10_0.dtd文件
  • 将文件放到项目资源目录下,比如src/main/resources/dtd/
  • 修改项目中Jetty配置文件(如jetty.xml)的DOCTYPE声明,把远程URL替换为本地路径:

    原声明:
    <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "https://eclipse.dev/jetty/configure_10_0.dtd">
    修改后:
    <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "dtd/configure_10_0.dtd">

  • 确保Ant构建时会将该DTD文件复制到Jetty运行时可访问的目录(比如编译后的classes目录)

2. 禁用远程DTD解析

  • 在Jetty启动的JVM参数中添加以下配置,强制使用本地缓存或关闭远程DTD校验:
    -Dorg.eclipse.jetty.util.resource.DefaultResourceCache.useCaches=true
    -Djavax.xml.validation.SchemaFactory:http://xml.org/sax/features/validation/schema=false
    
  • 如果使用Ant的jetty任务,直接在任务配置中添加JVM参数:
    <jetty ...>
        <jvmarg value="-Dorg.eclipse.jetty.util.resource.DefaultResourceCache.useCaches=true"/>
        <jvmarg value="-Djavax.xml.validation.SchemaFactory:http://xml.org/sax/features/validation/schema=false"/>
        <!-- 其他原有配置 -->
    </jetty>
    

3. 替换为稳定的DTD地址

  • 将配置中的DTD URL替换为Jetty官方归档的稳定地址,比如对应版本的DTD在Jetty发布包内置的路径,或官方代码仓库中归档的地址(避免使用临时失效的外部链接)

内容的提问来源于stack exchange,提问作者Rahul Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:46:01