Scala - IntelliJ:带有 Scala SDK 的简单模块与基于 SBT 的对比

Scala - IntelliJ: Simple Module w/ Scala SDK vs SBT-based

我是 Scala 的新手,已经注册了 Martin Odersky 的 MOOC; Functional Programming Principles in Scala。我这样做是为了学习 Apache Spark

课程通常用Eclipse来演示,但我想试试IntelliJ。我怀疑我的问题很简单。创建新项目时,我会看到两个项目类型选项:

  1. 附带 Scala SDK 的简单模块
  2. 基于SBT的Scala项目

这两类项目的主要区别是什么?我怀疑第一个选项将 SDK 与您的项目捆绑在一起,而第二个选项在编译时使用 SBT 下载依赖项。你能举例说明什么时候人们更喜欢使用其中一种吗?

在下载IntelliJ之前,我一直在使用sbt packagespark-submit

Simple Module with attached Scala SDK 将创建项目,其中项目结构将在专有 IntelliJ 文件中捕获。 Scala SDK 将作为类路径依赖项附加。最终结果是您将能够仅在 IntelliJ 中舒适地处理项目。

SBT-based Scala project 将使用作为 Scala 构建系统的 SBT 创建项目。您的项目结构、依赖项将在 SBT 配置中捕获,而 IntelliJ 项目将从该 SBT 配置生成。以这种格式获得您的项目的每个人都可以使用它,并且只需要 SBT。