检查你的 topology-config.yaml ,从yaml文件中选择类名后,动态加载类。
topology-config.yaml
所以问题是因为在我们的代码中使用着色的jar文件作为依赖项。 其中一个阴影jar文件使用了旧版本的风暴依赖,不知何故,这个版本没有显示在 mvn dependency:tree
mvn dependency:tree
在从阴影jar依赖项中排除风暴依赖项后,上述错误消失了。
TL; DR:我实际爆炸了最终的jar文件(使用 jar -xvf final.jar )并看到重复的类 backtype/storm 和 org/apache/storm 包和类中的类 backtype/storm 可能是因为被捡起来了 backtype 来之前 org 字典顺序? (在这一点上不确定,因为我希望在这种情况下优先考虑包名称)。
jar -xvf final.jar
backtype/storm
org/apache/storm
backtype
org