运行我的程序会导致java.lang.NoSuchMethodError:scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps;

运行我的程序会导致java.lang.NoSuchMethodError:scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps;,java,scala,open-source,dependencies,Java,Scala,Open Source,Dependencies,我试图在Scala 2.8.1中运行一个名为LinkedIn Norbert()的开源程序。我已经添加了所有jar文件,因此程序可以编译,但是当我尝试在examples/src/main/java中运行com.linkedin.norbert.javacompat.network.RunNorbertSetup类时,我得到以下错误: Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.augmentStrin

我试图在Scala 2.8.1中运行一个名为LinkedIn Norbert()的开源程序。我已经添加了所有jar文件,因此程序可以编译,但是当我尝试在examples/src/main/java中运行com.linkedin.norbert.javacompat.network.RunNorbertSetup类时,我得到以下错误:

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps;
    at com.linkedin.norbert.jmx.JMX$.name(JMX.scala:59)
    at com.linkedin.norbert.cluster.ClusterClient$$anon$1.<init>(ClusterClient.scala:56)
    at com.linkedin.norbert.cluster.ClusterClient$class.$init$(ClusterClient.scala:55)
    at com.linkedin.norbert.cluster.zookeeper.ZooKeeperClusterClient.<init>(ZooKeeperClusterClient.scala:22)
    at com.linkedin.norbert.cluster.ClusterClient$.apply(ClusterClient.scala:33)
    at com.linkedin.norbert.javacompat.cluster.ZooKeeperClusterClient.<init>(ZooKeeperClusterClient.scala:23)
    at com.linkedin.norbert.javacompat.cluster.ZooKeeperClusterClient.<init>(ZooKeeperClusterClient.scala:21)
    at com.linkedin.norbert.javacompat.network.RunNorbertSetup.configCluster(RunNorbertSetup.java:115)
    at com.linkedin.norbert.javacompat.network.RunNorbertSetup.main(RunNorbertSetup.java:21)
线程“main”java.lang.NoSuchMethodError中的异常:scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps; 位于com.linkedin.norbert.jmx.jmx$.name(jmx.scala:59) 位于com.linkedin.norbert.cluster.ClusterClient$$anon$1。(ClusterClient.scala:56) 位于com.linkedin.norbert.cluster.ClusterClient$class.$init$(ClusterClient.scala:55) 在com.linkedin.norbert.cluster.zookeeper.ZooKeeperClusterClient.(ZooKeeperClusterClient.scala:22) 在com.linkedin.norbert.cluster.ClusterClient$.apply上(ClusterClient.scala:33) 位于com.linkedin.norbert.javacompat.cluster.ZooKeeperClusterClient.(ZooKeeperClusterClient.scala:23) 位于com.linkedin.norbert.javacompat.cluster.ZooKeeperClusterClient.(ZooKeeperClusterClient.scala:21) 位于com.linkedin.norbert.javacompat.network.RunNorbertSetup.configCluster(RunNorbertSetup.java:115) 位于com.linkedin.norbert.javacompat.network.RunNorbertSetup.main(RunNorbertSetup.java:21) 我需要做什么来克服这个错误?我看过其他堆栈溢出和论坛线程,但这些都没有帮助

仅供参考:我用SBT建立了这个项目

非常感谢,
丽贝卡

运行“干净”而不是构建。也从项目目录中删除所有生成文件夹和bin文件夹

解决方案是将相关类放在类路径中。

基本上意味着类的旧版本潜伏在类路径中。当您的一个依赖项覆盖另一个依赖项,并且包含尚未使用此方法的较旧版本的类时,通常会发生这种情况。在这种情况下,重新排序依赖项将有所帮助(最新版本在顶部)。但是很难说清楚,如果这是原因,因为我不知道你的依赖结构。谢谢!成功了。原来在类路径中有来自多个版本的Scala库,我只是将它们全部更改为正确的版本。