我正在尝试在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版本。
我注意到的是,应该提供缺失类的lib位于Fuse 6.2.0的“system”文件夹中,但它不在Fuse 6.2.1中
lib是org.apache.servicemix.bundles.javassist
我的问题是:lib是因为某个原因删除了还是bug?如果它不是错误,我是否必须明确在结构配置文件中包含捆绑包?
答案 0 :(得分:2)
缺少的类包含在此捆绑包中,位于
下的JBoss熔丝-6.2.0.redhat-133 /系统
[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
请将软件包安装为,
install -s mvn:org.javassist / javassist / 3.18.1-GA
安装自定义捆绑包之前 或使用
动态导入
保险丝版本6.2.0和6.2.1中的jar版本是相同的。