当风暴客户端从0.10升级到1.1.0时,风暴拓扑部署失败,并出现IllegalArgumentException

问题描述

最近,我们将Storm版本从0.10升级到1.1.0,但是在使用已升级的客户端部署拓扑时,由于-

而失败
Exception in thread "main" java.lang.IllegalArgumentException
    at org.apache.storm.hack.shade.org.objectweb.asm.ClassReader.<init>(Unknown Source)
    at org.apache.storm.hack.shade.org.objectweb.asm.ClassReader.<init>(Unknown Source)
    at org.apache.storm.hack.shade.org.objectweb.asm.ClassReader.<init>(Unknown Source)
    at org.apache.storm.hack.DefaultShader.addRemappedClass(DefaultShader.java:182)
    at org.apache.storm.hack.DefaultShader.shadeJarStream(DefaultShader.java:103)
    at org.apache.storm.hack.StormShadeTransformer.transform(StormShadeTransformer.java:35)
    at org.apache.storm.daemon.ClientJarTransformerRunner.main(ClientJarTransformerRunner.java:37)

解决方法

该问题与dependency conflicts between asm and guice over Java8有关。排除来自依赖jar的所有guice依赖,但实际上并未在Storm项目中使用的guice依赖项有助于解决此问题。

为了安全起见,我还交叉检查了我的项目中除asm之外没有其他storm-core依赖项。

我花了一天多的时间来解决这个问题,希望这可以对某人有所帮助:)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...