相关推荐recommended
(保姆级)使用idea省心又省力地配置sbt,编译Scala代码
作者:mmseoamin日期:2024-04-29

对Scala代码进行打包编译时,可以采用Maven,也可以采用SBT,相对而言,业界更多使用SBT。

目录

安装idea,我过几天就会写Linux下安装idea,着急要的可以留言告诉我

安装Scala插件

创建新Project

点击创建就可以开始了

可以配置国内镜像

成功之后会显示

给Scala加依赖

具体参数的解释

自动更新sbt

手动更新sbt配置


安装idea,我过几天就会写Linux下安装idea,着急要的可以留言告诉我

{原本想自己做一个教程,但是一搜发现都很详细了,读者自己搜一下咯:) }

安装Scala插件

在File->Setting->Plugins找到插件市场

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第1张

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第2张

搜索scala

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第3张

安装之后重启

创建新Project

会有以下信息,选择Scala

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第4张

还需要对JDK进行设置,最好是本地的惯用的JDK,以免版本不兼容

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第5张

还有sbt的版本,虽然说sbt兼容一直不错,可以用最新的,但还是建议使用和Spark发布最近一年的sbt版本,可以去官网查询sbt - Download (scala-sbt.org)https://www.scala-sbt.org/download.html

idea也有下载sbt sources的选项,一般下好了属于自己的版本就可以不下了,但是idea下载也挺快的,看读者需求吧

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第6张

Scala版本选择必须要和Spark配套,这两者之间的兼容性不太好

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第7张

作者的版本是Spark2.4.0,Scala2.12.2

点击创建就可以开始了

之后查看sbt Shell观察情况

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第8张

第一次多半会等的就久一点,如果等的格外久可能是第一次运行sbt需要导入依赖,导入的过程是需要国外资源的,打包编译的时候非常慢,这个时候就不得不推荐我的另一篇博客了,如何配置解决这个下载慢的问题,大概十分钟就完成他!~

可以配置国内镜像源

参考之前写的博客,里面有详细地经过和一些可能地坑:

可能会失效,进主页搜索“sbt一直被lock以及双胞胎配置时间很久的解决办法汇总”吧~:)。

似乎容易失效,点进去之后找不到了就进我主页吧,文章名字是sbt一直被lock以及双胞胎配置时间很久的解决办法汇总(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,icon-default.png?t=N7T8,第9张https://blog.csdn.net/qq_52315804/article/details/132932469?spm=1001.2014.3001.5501

这里也贴一下主要解决办法,防止有些大佬懒得跳转了。

 给sbt配置镜像源

cd ~
mkdir .sbt   #如果该目录已经存在,就不用创建了
cd .sbt
vim repositories #使用vim编辑器创建repositories文件

在repositories中写下:

[repositories]
local
huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
maven-central: https://repo1.maven.org/maven2/
sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]

然后重启一下进入idea,开始下载,配置了镜像源之后十分钟左右可以下好

成功之后idea命令行会显示
/root/jdk1.8.0_191/bin/java -server -Xmx1536M -Dsbt.supershell=false -Didea.managed=true -Dfile.encoding=UTF-8 -Didea.installation.dir=/root/idea-IC-221.6008.13 -jar /root/.local/share/JetBrains/IdeaIC2022.1/Scala/launcher/sbt-launch.jar early(addPluginSbtFile=\"\"\"/tmp/idea1.sbt\"\"\") "; set ideaPort in Global := 35927 ; idea-shell"
[info] welcome to sbt 1.4.0 (Oracle Corporation Java 1.8.0_191)
[info] loading global plugins from /root/.sbt/1.0/plugins
[info] loading settings for project sbttest-build from idea1.sbt ...
[info] loading project definition from /root/IdeaProjects/SBTTest/project
[warn] Unrecognized repository Scala Plugin Bundled Repository, ignoring it
[info] loading settings for project root from build.sbt ...
[info] set current project to SBTTest (in build file:/root/IdeaProjects/SBTTest/)
[info] Defining Global / ideaPort
[info] The new value will be used by Compile / compile, Test / compile
[info] Reapplying settings...
[info] set current project to SBTTest (in build file:/root/IdeaProjects/SBTTest/)
[IJ]
给Scala加依赖

为了编译spark需要用到别人写的包,相关查看自己软件版本号的指令就自己搜索了吧,毕竟因人而异了,教程就不放进来了。

进入build.sbt文件进行依赖包的导入

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第10张

初始界面是idea默认的,只需要更改内容

version := "1.0"
scalaVersion := "2.12.2"
lazy val root = (project in file("."))
  .settings(
    name := "SBTTest"
  )
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.4.0"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.4.0"
libraryDependencies += "org.apache.spark" %% "spark-mllib" % "2.4.0"
具体参数的解释

version:= "1.0"  表示当前代码的版本,是自己定义的,例如可以定义:0.0版本是未完成,1.0是较完善,越往上表示代码越成熟
scalaVersion := "2.12.2"  Scala版本,需要和之前创建的时候版本一致,不知道也没关系,在idea的命令行里“问一下”就行了。:)

lazy val root = (project in file("."))

  .settings(

    name := "SBTTest"

  )   项目的名字,和创建的时候对应,不用管

libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.4.0"

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

libraryDependencies += "org.apache.spark" %% "spark-mllib" % "2.4.0"

导入的三个依赖包;后面的参数的意思是Spark版本对应,每个包对应的业务大家可以去spark的“使用手册”去看(不过大多数都是用到了才报错,到时候再配置也是没关系的),这里大家去spark官网然后找到自己版本的spark“说明书”就行了,再详细就不礼貌了。

自动更新sbt

一般来说就能看见一个刷新符号了,点击并等待配置就行,如果idea太卡了,右上角没有马上刷新的话就只有自己刷新了。

手动更新sbt配置

最右边点击sbt

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第11张

之后手动刷新sbt

(保姆级)使用idea省心又省力地配置sbt,编译Scala代码,第12张

到这里就结束了,自己去在Scala文件夹下写代码吧:)

希望可以被点赞  :)