对让Scala在IntelliJ中运行感到困惑?导入错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对让Scala在IntelliJ中运行感到困惑?导入错误相关的知识,希望对你有一定的参考价值。

我试图在IntelliJ中运行一个简单的scala程序。

我的build.sbt看起来像这样:

name := "UseThis"

version := "0.1"

scalaVersion := "2.12.4"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.2.0"

我的导入代码如下所示:

package WorkWork.FriendsByAge

import com.sun.glass.ui.Window.Level
import com.sun.istack.internal.logging.Logger
import org.apache.spark._
import org.apache.spark.SparkContext._
import org.apache.log4j._

我不知道导入失败的原因。它告诉我依赖项无法加载或找不到,但我根据需要将该行放在build.sbt中。我还需要做一些其他的步骤吗?我安装了火花。它是构建行末尾的版本说明吗?我甚至不知道如何检查我的火花版本。我正在尝试自学Scala(不是一个菜鸟,我知道Python,R,各种各样的SQL,C#),但我的话甚至设置它几乎是不可能的,显然它甚至运行也是如此。有任何想法吗?

答案

看看这个页面:Maven Central (Apache Spark core)

除非你已经设置了一些其他的存储库,否则sbt将加载的依赖关系通常来自那里。

有一个version列,数字像2.2.1,然后有一个scala列,数字像2.112.10。为了使spark和scala一起工作,您必须从此表中选择一个有效的组合。

截至28.Feb 2018,没有与scala 2.12.4一起使用的Spark版本。 1.2.0最新版本的scala是2.11。所以,您可能希望将scala版本设置为2.11

另请注意您的SBT中的%%语法

"org.apache.spark" %% "spark-core" % "1.2.0"

将自动将后缀_2.12附加到artifact-id-part。由于没有spark-core_2.12,因此无法解析依赖关系,也无法在代码中导入任何内容。

顺便说一句:火花1.2和火花1.3之间存在很大差异,然后在1.x和2.x之间再次存在很大差异。它真的必须是1.2吗?

另一答案

因为Spark 1.2不适用于Scala 2.12

https://mvnrepository.com/artifact/org.apache.spark/spark-core

以上是关于对让Scala在IntelliJ中运行感到困惑?导入错误的主要内容,如果未能解决你的问题,请参考以下文章

我在intellij中没有sbt控制台

对“Scala in Depth”选项示例感到困惑

如何在IntelliJ IDEA中运行Java/Scala/Spark程序

由于多个 scala lib 版本,intellij 2019.02 无法运行任何 scala 类

如何将 IntelliJ 与 Play Framework 和 Scala 一起使用

Spark/Scala - 项目从 IntelliJ 运行良好,但 SBT 引发错误