Search code examples
jbossfuse

Jboss Fuse 6.2.1 Missing jar org.apache.servicemix.bundles.javassist


I'm trying to deploy a bundle in Fuse 6.2.1-084 but it fails because of a ClassNotFoundException

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

The class is required by this other bundle org.apache.servicemix.bundles:org.apache.servicemix.bundles.reflections:0.9.8_1

The same bundle was deploying and working correctly on Fuse 6.2.0-133. I updated the pom of the project to use the lib version of Fuse 6.2.1.

What I've noticed is that the lib supposed to provide the missing class was in the "system" folder of Fuse 6.2.0 but it is not in Fuse 6.2.1

The lib is org.apache.servicemix.bundles.javassist

My question is: the lib was removing for a reason or it is a bug? If it is not a bug, do I have to explicity include the bundle in the fabric profile?


Solution

  • The missing class is contained in this bundle, under

    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
    

    Please install the bundle as,

    install -s mvn:org.javassist/javassist/3.18.1-GA

    before you install your custom bundle or use

    dynamic-import

    The version of the jar in fuse version 6.2.0 and 6.2.1 are the same.