Java Spark:NoSuchMethodError:scala.Predef$.$confirms()Lscala/Predef$$less$colon$less出现错误

Java Spark:NoSuchMethodError:scala.Predef$.$confirms()Lscala/Predef$$less$colon$less出现错误,java,scala,maven,apache-spark,Java,Scala,Maven,Apache Spark,我有一个应用程序,它可以流式传输推特帖子。 它工作正常,但在修改了构建路径之后,我无法将其设置为以前的状态。我不断地发现这个错误: Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$conforms()Lscala/Predef$$less$colon$less; at org.apache.spark.util.Utils$.getSystemProperties(Utils.scala:1710) a

我有一个应用程序,它可以流式传输推特帖子。 它工作正常,但在修改了构建路径之后,我无法将其设置为以前的状态。我不断地发现这个错误:

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$conforms()Lscala/Predef$$less$colon$less;
at org.apache.spark.util.Utils$.getSystemProperties(Utils.scala:1710)
at org.apache.spark.SparkConf.loadFromSystemProperties(SparkConf.scala:73)
at org.apache.spark.SparkConf.<init>(SparkConf.scala:68)
at org.apache.spark.SparkConf.<init>(SparkConf.scala:55)
at Analytics.init(Analytics.java:20)
at KafkaTwitterProducer.main(KafkaTwitterProducer.java:162)
线程“main”java.lang.NoSuchMethodError中的异常:scala.Predef$.$confirms()Lscala/Predef$$less$colon$less; 位于org.apache.spark.util.Utils$.getSystemProperties(Utils.scala:1710) 位于org.apache.spark.SparkConf.loadFromSystemProperties(SparkConf.scala:73) 位于org.apache.spark.SparkConf(SparkConf.scala:68) 位于org.apache.spark.SparkConf(SparkConf.scala:55) 在Analytics.init(Analytics.java:20) 位于KafkaTwitterProducer.main(KafkaTwitterProducer.java:162) 这是我的pom.xml


4.0.0
推特流分析器
推特流分析器
0.0.1-快照
src
maven编译器插件
3.5.1
1.8
1.8
org.apache.kafka
卡夫卡2.10
0.10.2.1  
org.twitter4j
twitter4j核
4.0.4  
org.twitter4j
twitter4j流
4.0.4  
org.twitter4j
twitter4j异步
4.0.4  

看起来您正试图在其他版本(可能是2.11)编译的Spark集群中使用Scala 2.10编译的kafka库。在pom.xml中尝试以下更改:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>TwitterStreamingAnalyzer</groupId>
  <artifactId>TwitterStreamingAnalyzer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
   <dependency>  
                <groupId>org.apache.kafka</groupId>  
                <artifactId>kafka_2.11</artifactId>  
                <version>0.10.2.1</version>  
           </dependency>  
           <!-- https://mvnrepository.com/artifact/org.twitter4j/twitter4j-core -->  
           <dependency>  
                <groupId>org.twitter4j</groupId>  
                <artifactId>twitter4j-core</artifactId>  
                <version>4.0.4</version>  
           </dependency>  
           <!-- https://mvnrepository.com/artifact/org.twitter4j/twitter4j-stream -->  
           <dependency>  
                <groupId>org.twitter4j</groupId>  
                <artifactId>twitter4j-stream</artifactId>  
                <version>4.0.4</version>  
           </dependency>  
           <!-- https://mvnrepository.com/artifact/org.twitter4j/twitter4j-async -->  
           <dependency>  
                <groupId>org.twitter4j</groupId>  
                <artifactId>twitter4j-async</artifactId>  
                <version>4.0.4</version>  
           </dependency> 

     </dependencies> 
</project>

4.0.0
推特流分析器
推特流分析器
0.0.1-快照
src
maven编译器插件
3.5.1
1.8
1.8
org.apache.kafka
卡夫卡2.11
0.10.2.1  
org.twitter4j
twitter4j核
4.0.4  
org.twitter4j
twitter4j流
4.0.4  
org.twitter4j
twitter4j异步
4.0.4  

您的项目依赖项中应该有冲突的库。scala库的两个版本。你必须删除其中一个hi@Mikel,我又遇到了这个问题。这一次粘贴编辑好的pom.xml是不够的。有什么建议吗?您是否更改了执行Spark的版本?例如,如果您正在使用EMR,您是否更改了版本?我清理了构建路径,尝试重新导入相同的JAR,但一定是出了问题。我认为这只是JAR的问题,因为我没有改变任何东西。您是使用IDE执行的吗?如果是,什么IDE?IntelliJ?您可能希望检查为您的项目选择的scala版本,因为我不使用eclipse,但本文可能会有所帮助