You need to enable JavaScript to run this app. blueprint-maven-plugin 1.10.0 JDK11构建报错及兼容性咨询
优惠活动
大模型
产品
解决方案
定价
更多

blueprint-maven-plugin 1.10.0 JDK11构建报错及兼容性咨询

问题根因

本次报错确实是blueprint-maven-plugin 1.10.0与JDK 11不兼容导致的,核心问题出在插件的依赖组件:
该版本插件底层依赖xbean-asm5-shaded库,其中ASM 5最高仅支持解析JDK 8的字节码,无法识别JDK 9及以上版本的字节码格式,因此读取JDK 11编译的类文件时直接抛出IllegalArgumentException,和你提供的报错堆栈完全匹配。

临时兼容方案

如果暂时需要继续使用该插件,可以通过强制升级插件的ASM相关依赖实现JDK 11兼容,修改项目pom.xml中该插件的配置,引入高版本ASM依赖并排除原有低版本依赖即可,示例配置如下:

<plugin>
    <groupId>org.apache.aries.blueprint</groupId>
    <artifactId>blueprint-maven-plugin</artifactId>
    <version>1.10.0</version>
    <dependencies>
        <!-- 替换为高版本支持JDK 11的ASM依赖 -->
        <dependency>
            <groupId>org.apache.xbean</groupId>
            <artifactId>xbean-asm9-shaded</artifactId>
            <version>4.22</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xbean</groupId>
            <artifactId>xbean-finder-shaded</artifactId>
            <version>4.22</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.xbean</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</plugin>

你可以根据实际环境调整依赖版本,只要保证ASM版本支持JDK 11即可正常运行。

长期替代方案

官方版本的blueprint-maven-plugin最后一次更新为2018年,已经停止维护多年,推荐采用以下长期替代方案:

  • 手动编写blueprint配置文件,放弃插件自动生成功能,适合配置量较小的项目
  • 迁移到OSGi Declarative Services(DS)方案,DS是目前OSGi生态主推的服务声明规范,原生支持高版本JDK,Karaf 4.2及以上版本均内置DS支持
  • 选用社区第三方维护的适配了高版本JDK的blueprint-maven-pluginfork版本,无需改动业务代码即可直接替换官方版本使用

内容的提问来源于stack exchange,提问作者peter.petrov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 20:15:03