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

BIRT项目迁移Jakarta 10时如何添加外部依赖至编译类路径?

解决Tycho+Feature.xml项目中Jakarta依赖无法加入类路径的问题

Tycho是基于OSGi的构建工具,它不会识别pom.xml里的常规Maven依赖,而是通过OSGi清单文件(MANIFEST.MF)和feature.xml来管理依赖,这就是你添加Jakarta依赖后无法进入类路径的核心原因。以下是具体解决步骤:

  • 配置插件项目的MANIFEST.MF
    在你的BIRT插件项目的MANIFEST.MF中,添加对Jakarta相关包的导入声明,对应Jakarta 10的版本(比如servlet-api对应6.0.x版本):

    Import-Package: jakarta.servlet;version="[6.0.0,7.0.0)",
                     jakarta.servlet.http;version="[6.0.0,7.0.0)"
    
  • 在feature.xml中引入Jakarta Bundle
    打开项目的feature.xml,切换到Dependencies标签,点击Add按钮,搜索对应的Jakarta Bundle(如jakarta.servlet-api),将其添加到feature的依赖列表中。Tycho构建时会自动将该Bundle纳入编译和运行类路径。

  • 升级Tycho版本(可选但推荐)
    Tycho 4.0及以上版本对Jakarta规范的支持更完善,建议在pom.xml中更新Tycho插件版本:

    <build>
        <plugins>
            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-maven-plugin</artifactId>
                <version>4.0.0</version>
                <extensions>true</extensions>
            </plugin>
        </plugins>
    </build>
    
  • 验证构建结果
    执行mvn clean install,检查编译错误是否消除,确认Jakarta相关类已被正确加载到类路径中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 04:22:09