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

升级Jetty-maven-plugin至12后extraClasspath配置失效问题

Jetty 12中extraClasspath属性的变更说明及解决方案

Jetty 12(尤其是EE10分支)对类加载机制做了重大调整,extraClasspath属性的用法和行为确实发生了变化,这就是你遇到启动异常的核心原因。

具体变更点

  • 类加载架构重构:Jetty 11基于URLClassLoader实现类加载,extraClasspath可直接将路径注入到类加载器中;但Jetty 12采用了全新的模块化类加载模型,不再使用URLClassLoader,原有jetty-web.xml中的extraClasspath配置无法适配新的类加载器,导致文件解析或兼容性报错。
  • EE10规范适配:jetty-ee10-maven-plugin对应Jakarta EE 10规范,对类路径管理的约束更严格,extraClasspath这种非标准的类路径扩展方式被限制,部分场景下已不再支持。

替代解决方案

如果需要扩展类路径,推荐使用以下标准方式:

  • 依赖管理优先:若扩展路径中的内容是第三方依赖,直接通过Maven的<dependencies>或<dependencyManagement>引入,让Jetty插件自动管理类路径,无需手动配置。
  • Maven插件辅助:对于本地非Maven管理的资源或类文件,使用build-helper-maven-plugin将路径添加到项目主类路径中,示例配置:
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>build-helper-maven-plugin</artifactId>
      <version>3.4.0</version>
      <executions>
        <execution>
          <id>add-classpath</id>
          <phase>generate-resources</phase>
          <goals>
            <goal>add-resource</goal>
          </goals>
          <configuration>
            <resources>
              <resource>
                <directory>src/main/resources/extra-libs</directory>
                <includes>
                  <include>*.jar</include>
                </includes>
              </resource>
            </resources>
          </configuration>
        </execution>
      </executions>
    </plugin>
    
  • Jetty插件配置替代:若必须在Jetty层面配置,可直接在jetty-ee10-maven-plugin的<configuration>中添加<extraClasspath>,而非在jetty-web.xml中配置,示例:
    <plugin>
      <groupId>org.eclipse.jetty.ee10</groupId>
      <artifactId>jetty-ee10-maven-plugin</artifactId>
      <version>12.0.10</version>
      <configuration>
        <extraClasspath>src/main/resources/extra-classes/,target/extra-libs/</extraClasspath>
      </configuration>
    </plugin>
    

你的场景中,移除jetty-web.xml里的extraClasspath配置后恢复正常,正是因为该配置在Jetty 12的EE10环境下已不再兼容,建议按照上述方案调整类路径管理方式,适配新版本的Jetty架构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 04:56:04