Java Spark和x27的Maven依赖性;s StreamingQuery

Java Spark和x27的Maven依赖性;s StreamingQuery,java,maven,apache-spark,Java,Maven,Apache Spark,我有一个编译时错误: 无法解析符号“spark” 对于以下代码: import org.apache.spark.sql.streaming.StreamingQuery; 我使用InteliJ pom.xml: ... <dependencies> <dependency> <groupId>com.sparkjava</groupId> <artifactId>spa

我有一个编译时错误:

无法解析符号“spark”

对于以下代码:

import org.apache.spark.sql.streaming.StreamingQuery;
我使用InteliJ

pom.xml:

...
<dependencies>
        <dependency>
            <groupId>com.sparkjava</groupId>
            <artifactId>spark-core</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.4.0</version>
        </dependency>
    </dependencies>
。。。
com.sparkjava

我可以确认spark-sql_2.11:2.4.0中存在org.apache.spark.sql.streaming.StreamingQuery接口,源代码如下:

我假设编译错误与源代码中的导入有关,而不是与某种类型有关(您没有附加失败文件的源代码,因此我只能在此推测)

因此,在决议方面:

  • 尝试在没有intelliJ的情况下从命令行运行
    mvn clean compile
    。如果成功-检查intelliJ集成(重新导入可能会解决此问题)

  • 如果没有-请检查
    pom.xml
    可能是您错误地更新了
    部分

  • 从本地maven存储库中删除spark的jar并重试,有时jar可能会被下载并损坏

  • 更新1 因为现在我们知道,
    mvn clean compile
    从命令行成功运行, 这一定是intelliJ中打开项目的问题

    因此,我建议采取以下措施:

  • 关闭当前项目:文件-->关闭项目
  • 文件-->打开。。。现在找到项目文件夹并(这很重要)选择
    pom.xml
    。IntelliJ将询问您是否要删除以前找到的项目文件-回答“是”,它将重新构建内部依赖项数据结构。 然后尝试运行程序并更新问题是否存在

  • 我可以确认spark-sql_2.11:2.4.0中存在接口org.apache.spark.sql.streaming.StreamingQuery,源代码如下:

    我假设编译错误与源代码中的导入有关,而不是与某种类型有关(您没有附加失败文件的源代码,因此我只能在此推测)

    因此,在决议方面:

  • 尝试在没有intelliJ的情况下从命令行运行
    mvn clean compile
    。如果成功-检查intelliJ集成(重新导入可能会解决此问题)

  • 如果没有-请检查
    pom.xml
    可能是您错误地更新了
    部分

  • 从本地maven存储库中删除spark的jar并重试,有时jar可能会被下载并损坏

  • 更新1 因为现在我们知道,
    mvn clean compile
    从命令行成功运行, 这一定是intelliJ中打开项目的问题

    因此,我建议采取以下措施:

  • 关闭当前项目:文件-->关闭项目
  • 文件-->打开。。。现在找到项目文件夹并(这很重要)选择
    pom.xml
    。IntelliJ将询问您是否要删除以前找到的项目文件-回答“是”,它将重新构建内部依赖项数据结构。 然后尝试运行程序并更新问题是否存在
  • “星火框架”与此无关。删除
    com.sparkjava
    依赖项(假设项目中其他地方不需要它),并将其替换为

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.11</artifactId>
        <version>2.4.0</version>
    </dependency>
    
    
    org.apache.spark
    spark-core_2.11
    2.4.0
    
    “Spark框架”与此无关。删除
    com.sparkjava
    依赖项(假设项目中其他地方不需要它),并将其替换为

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.11</artifactId>
        <version>2.4.0</version>
    </dependency>
    
    
    org.apache.spark
    spark-core_2.11
    2.4.0
    

    你确定你使用的是正确的maven依赖项吗?@Joe不,我不是。试试这个
    import org.apache.spark.*
    并查看它是否构建了您的Scala版本2.11。有什么问题吗?@Palcente没有,我仍然有相同的错误。您确定使用了正确的maven依赖项吗?@Joe没有,我没有。试试这个
    导入org.apache.spark.*
    并查看它是否构建了您的Scala 2.11版。有什么吗?@Palcente没有,我仍然有相同的错误。那么您是否尝试过命令行中的1项(没有intelliJ)?你看到了什么?如果我在intelliJ和Eclipse中有Maven,Maven不是已经安装了吗?你在intelliJ中捆绑了Maven的一些版本。。。符合事实的我不知道日食。我说的是试图绕过intelliJ运行
    mvn clean install
    ,我已经运行了“mvn clean compile”。可能您可以添加MVN_HOME变量以指向IntelliJSo中的内置Maven目录。您是否尝试过命令行中的1项(没有intelliJ)?你看到了什么?如果我在intelliJ和Eclipse中有Maven,Maven不是已经安装了吗?你在intelliJ中捆绑了Maven的一些版本。。。符合事实的我不知道日食。我说的是试图绕过intelliJ运行
    mvn clean install
    ,我已经运行了“mvn clean compile”。可能您可以添加MVN_HOME变量以指向IntelliJ中的内置Maven目录