问题描述
最近,我们将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
依赖项。
我花了一天多的时间来解决这个问题,希望这可以对某人有所帮助:)