【问题标题】:Jboss Fuse 6.2.1 Missing jar org.apache.servicemix.bundles.javassistJboss Fuse 6.2.1 缺少 jar org.apache.servicemix.bundles.javassist
【发布时间】:2026-02-22 09:05:02
【问题描述】:

我正在尝试在 Fuse 6.2.1-084 中部署一个包,但由于 ClassNotFoundException 而失败

com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: javassist/bytecode/ClassFile

此其他捆绑包 org.apache.servicemix.bundles:org.apache.servicemix.bundles.reflections:0.9.8_1 需要该类

同一个包在 Fuse 6.2.0-133 上部署并正常工作。 我更新了项目的 pom 以使用 Fuse 6.2.1 的 lib 版本。

我注意到应该提供缺失类的库位于 Fuse 6.2.0 的“系统”文件夹中,但不在 Fuse 6.2.1 中

库是 org.apache.servicemix.bundles.javassist

我的问题是:lib 被删除是有原因的还是一个错误?如果不是错误,我是否必须在结构配置文件中明确包含捆绑包?

【问题讨论】:

    标签: jbossfuse


    【解决方案1】:

    缺少的类包含在这个包中,在

    jboss-fuse-6.2.0.redhat-133/system

    [vgohel@localhost system]$ jar -tf org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar|grep ClassFile
    javassist/bytecode/ClassFile.class
    javassist/bytecode/ClassFilePrinter.class
    javassist/bytecode/ClassFileWriter$AttributeWriter.class
    javassist/bytecode/ClassFileWriter$ConstPoolWriter.class
    javassist/bytecode/ClassFileWriter$FieldWriter.class
    javassist/bytecode/ClassFileWriter$MethodWriter.class
    javassist/bytecode/ClassFileWriter.class
    

    请将捆绑包安装为,

    安装 -s mvn:org.javassist/javassist/3.18.1-GA

    在安装自定义捆绑包之前 或使用

    动态导入

    fuse 6.2.0和6.2.1版本的jar版本是一样的。

    【讨论】:

    • 谢谢,它可以使用 org.javassist/javassist/3.18.1-GA 包。