使用IDEA配置sbt,编译打包Scala代码

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

(1)安装Scala插件。在File->Setting->Plugins找到插件市场,搜索scala,安装之后重启IDEA

在这里插入图片描述
在这里插入图片描述

(2)根据如下步骤新建项目Project

JDK设置:最好是本地的惯用的JDK,以免版本不兼容
sbt设置:两者兼容一直不错,可以用最新版本,但建议使用和Spark发布最近一年的sbt版本。
Scala设置:两者之间的兼容性不太好,版本选择必须要和Spark配套,否则运行容易出错。在这里插入图片描述

(3)创建后,点击下面sbt shell查看依赖包下载情况。点击

第一次执行下载会花很长时间。但是,只要下载安装成功,后续速度就比较快了。之所以第一次运行 sbt速度很慢,是因为这个过程需要到国外网站下载很多的依赖包,而国外网站下载速度很慢,所以需要耗费很长时间。

配置国内镜像源可提高速度。

如果 .sbt 目录不存在,需要使用 mkdir 命令创建。
在这里插入图片描述
使用 vim 编辑器创建 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,重新开始下载(配置国内镜像源之后速度提升许多,但有时仍需要长时间)

(4)出现如下显示,说明下载 sbt 安装成功。

在这里插入图片描述

注:下载过程中可能出现如下问题:

在这里插入图片描述

解决办法:

在这里插入图片描述

(5)给Scala加依赖,进入build.sbt文件进行依赖包的导入

如下初始界面是IDEA默认的,只需要在后面添加配置内容。
在这里插入图片描述
在后面添加程序所需版本配置,之后刷新重载。
在这里插入图片描述

(6)在 src/main/scala 下创建 Scala 文件

在这里插入图片描述

(7)点击文件(File)->项目结构(Project Structure)

在这里插入图片描述

(8)点击工件(Artifacts)->JAR->来自具有依赖项的模块(From modules with depedencies)

在这里插入图片描述

(9)选择Main Class,并按如下步骤进行

在这里插入图片描述
在这里插入图片描述

(10)点击构建(Build)->构建工件(Build Artifacts)

(11)点击构建工件(Build Artifacts)->构建(Build)

在这里插入图片描述

(12)稍等项目打包,找到相应的目录即可查看 jar 包

在这里插入图片描述

(13)打开所在终端即可运行 jar 包,如下实例

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scala中可以很方便地使用Java代码,因此将ScalaJava代码混合打包是很常见的需求。这里介绍一种使用sbt进行混合打包的方法。 1. 创建sbt项目 首先需要创建一个sbt项目,并将Java代码Scala代码分别放到src/main/java和src/main/scala目录下。 2. 配置build.sbt文件 在build.sbt文件中添加以下内容: ``` name := "your-project-name" version := "1.0" scalaVersion := "2.12.8" javacOptions ++= Seq("-source", "1.8", "-target", "1.8") unmanagedSourceDirectories in Compile += baseDirectory.value / "src" / "main" / "java" unmanagedResourceDirectories in Compile += baseDirectory.value / "src" / "main" / "resources" libraryDependencies ++= Seq( "org.scala-lang" % "scala-library" % scalaVersion.value, "com.typesafe.akka" %% "akka-actor" % "2.5.23" ) ``` 其中,unmanagedSourceDirectories指定了Java代码的位置,unmanagedResourceDirectories指定了资源文件的位置,libraryDependencies指定了项目需要的依赖库。 3. 打包sbt控制台中运行以下命令即可打包: ``` sbt package ``` 打包后的jar文件位于target/scala-2.12目录下。 4. 运行 可以使用以下命令运行打包后的jar文件: ``` java -cp your-project.jar com.your.package.MainClass ``` 其中,your-project.jar是打包后的jar文件名,com.your.package.MainClass是程序入口类的全限定名。 注意:在运行时需要保证依赖库已经被正确地加载。如果依赖库没有正确加载,可以使用以下命令运行: ``` java -cp your-project.jar:lib/* com.your.package.MainClass ``` 其中,lib/*表示将lib目录下的所有jar文件都加入到classpath中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值