我在Storm上运行的拓扑失败,并出现一个NoSuchMethodError scala.Predef $ .doubleWrapper,因为第三方库要求的Scala版本(2.11.x)比Azure HDInsight 3.6(Storm 1.1.0, Scala 2.9.2)。我使用maven-assembly-plugin将后来的Scala库包含在胖jar中,并尝试通过Storm CLI jar命令的--jar选项传递2.11 Scala Jar,但Storm仍使用较旧的Scala版本。
有什么主意如何强制拓扑覆盖Storm已经提供的库?
答案 0 :(得分:0)
我不认为Storm捆绑了Scala。至少在1.1.0发行版zip中看不到它。
通常,Storm放在类路径中的库将位于您的Storm安装目录中的storm / lib或storm / extlib目录中。我没有使用HDInsight,所以我不知道您具有哪种访问权限,但是如果HDInsight将Scala放在Storm的类路径中,则可以肯定jar可能位于这些文件夹之一中。如果在此找到它,则可以将其替换为所需的版本。