sbt
最后修改时间:2023 年 9 月 5 日打开现有的 sbt 项目
笔记
要创建新项目,请启动新建项目向导并按照向导中建议的步骤进行操作,例如选择Scala和sbt;指定项目的位置、JDK 以及 sbt 和 Scala 版本。(sbt 和 Scala 版本会自动获取。)
如果当前在 IntelliJ IDEA 中没有打开任何项目,请单击欢迎屏幕上的“打开” 。否则,选择文件 | 从主菜单打开。
在打开的对话框中,选择包含 sbt 项目描述build.sbt的文件。单击“确定”。
在打开的对话框中,单击“选择为项目”。
IntelliJ IDEA 在 IDE 中打开并同步 sbt 项目。如果您需要在打开项目时调整导入选项,请参阅sbt 设置。
确保 sbt 和 Scala 版本兼容性
通常,您在团队中共享您的项目,并且需要使用特定版本的 sbt。您可以覆盖项目的build.properties文件中的 sbt 版本。
创建或打开您的 sbt 项目。
在“项目”工具窗口的源根目录中,找到build.properties文件并在编辑器中将其打开。
在编辑器中明确指定要在项目中使用的 sbt 版本。
sbt.version=xxx
笔记
如果build.properties文件不存在,较新的 sbt 版本(1.0 +)将自动创建它。
重新导入您的项目。(单击sbt工具窗口中的。)
笔记
当您尝试导入包含旧版本 sbt 的 sbt 项目时,您可能会收到错误。我们建议您升级到 sbt 版本 1.0 及更高版本,它们与 Scala 版本 2.12 兼容(需要 Java 8)。
SBT项目结构
当您创建或导入 sbt 项目时,IntelliJ IDEA 会生成以下 sbt 结构:
sbt 项目(正确的构建),它定义一个项目并包含build.sbt文件、src和目标目录、模块;与常规项目相关的任何内容。
sbt构建项目,其定义在项目子目录中。它包含属于构建定义一部分的附加代码。
sbt工具窗口,其中包含您可以执行的sbt 任务、命令和设置。
提示
有关sbt项目结构的更多信息,请参阅相关的sbt文档。
管理 sbt 项目
当您使用 sbt 项目时,您可以使用build.sbt文件对项目进行主要更改,因为 IntelliJ IDEA 将 sbt 配置视为单一事实来源。
每次在编辑器中手动更改build.sbt时,都需要加载更改。IntelliJ IDEA 在编辑器的右侧显示一个通知图标,建议加载对项目所做的sbt 更改( )。CtrlShift0O
如果您想控制项目的导入过程,可以手动触发操作或配置自动重新加载过程。
重新加载 sbt 项目
在sbt工具窗口中,右键单击链接的项目。
从上下文菜单中,选择“重新加载项目” 。
调用此操作时,IntelliJ IDEA 会解析sbt工具窗口中的项目结构。
IntelliJ IDEA 无法仅重新加载项目的一部分,它会重新加载整个项目,包括子项目和依赖项。
提示
要重新加载所有 sbt 项目,请单击sbt工具窗口中工具栏上的。
配置自动重新加载
在“设置”对话框 ( ) 中,转到“构建、执行、部署”| 构建工具。CtrlAlt0S
或者,在sbt工具窗口中,单击并选择“自动重新加载设置”选项。
在构建工具设置中,指定以下选项:
重新加载构建脚本中的更改:默认情况下选择此选项。如果您想禁用自动重新加载并手动控制重新加载过程,请取消选中此复选框。
任何更改:如果您希望在对build.sbt进行任何更改或外部更改后自动重新加载项目,请选择此选项。
每次在编辑器中手动更改 sbt 构建脚本时,都需要加载更改。IntelliJ IDEA 在编辑器的右侧显示一个通知图标,建议加载对项目所做的sbt 更改( )。CtrlShift0O
使用“任何更改”选项,IntelliJ IDEA 会自动重新加载所有更改。
外部更改:当您选择此选项时,IntelliJ IDEA 仅在 VCS 更改以及对 IDE 外部的构建文件进行更改后自动重新加载项目。
如果您希望子项目在更改 Scala 版本时自动更新,请为每个子项目指定commonSettings
并调用方法。settings
打开build.sbt。
例如,指定以下代码:
lazy val commonSettings = Seq( organization := "com.example", version := "0.1.0-SNAPSHOT", scalaVersion := "2.12.6" ) lazy val moduleSample = (project in file("moduleSample")) .settings( commonSettings )
适当的 Scala 版本将添加到Project工具窗口中的子项目目录中,并作为子项目中的依赖项添加到sbt工具窗口中。
将库添加到 sbt 项目
您可以通过build.sbt文件添加sbt 依赖项,也可以在.scala文件中使用该语句。import
在编辑器中打开.scala文件。
指定要导入的库。
将插入符号放在未解析的包上并按。AltEnter
从可用意图操作列表中,选择Add sbt dependency。
按照打开的向导中建议的步骤进行操作,然后单击“完成”。
IntelliJ IDEA 下载工件,将依赖项添加到build.sbt文件和sbt工具窗口。
笔记
一旦 IntelliJ IDEA 检测到build.sbt中的更改,就会出现一条通知,建议您刷新项目。刷新您的项目。(单击sbt工具窗口中的。)
或者,使用sbt 设置中的自动导入选项。
使用 sbt shell
sbt shell 嵌入在 sbt 项目中,并在项目启动时可用。您可以使用 sbt shell 执行 sbt 命令和任务、运行和调试项目。
要启动 sbt shell,请按Ctrl+Shift+S(对于 Windows)或⌘+⇧+S(对于 macOS)。或者,单击位于屏幕底部的工具栏。
要使用 sbt shell 进行构建和导入过程,请选择sbt 设置中的使用 sbt shell部分,并执行使用 sbt shell 运行 Scala 应用程序部分中描述的步骤。
笔记
建议使用 sbt 版本 0.13.16.+ / 1.0.3.+。
如需使用 sbt shell 进行调试,请参阅使用 sbt shell 进行调试部分。
要从 sbt shell 运行测试:
打开运行/调试配置(运行 | 编辑配置)。
创建测试配置并从可用设置中选择use sbt选项。
提示
您还可以通过在 sbt shell 中输入来运行
test
或命令。test/Only
运行 sbt 任务
提示
您可以像执行sbt 任务一样执行 sbt命令和设置。
您可以通过从sbt工具窗口的sbt Tasks目录中选择所需的任务来运行 sbt 任务。
您可以在 sbt shell 中手动输入任务(支持代码完成)并直接从那里运行它。
您可以为任务创建运行配置。例如,您可以创建一个自定义任务,该任务不属于sbt工具窗口中的任务列表。
按此键打开运行配置。AltShiftF10
指定运行配置设置并单击“确定”。如果需要,您可以在运行配置之前添加其他配置或要执行的任务。单击“启动前”部分,然后从打开的列表中选择您需要执行的内容。
当您在无干扰模式(没有工具栏和工具窗口)下工作时,您可以从Run Anything窗口运行 sbt 任务或命令。按两次将其打开,输入命令并按。CtrlEnter
IntelliJ IDEA 在sbt shell窗口中显示结果。
使用 sbt 设置
使用sbt 设置来配置 sbt 项目的构建和运行操作、sbt 版本、项目更改的导入等。
访问 sbt 设置
按打开 IDE 设置,然后选择“构建”、“执行”、“部署”| 顺便说一句。CtrlAlt0S
或者,单击sbt工具窗口工具栏上的来访问 sbt 设置。
在 sbt 设置页面上,配置以下值得注意的操作:
要将正在运行的构建委托给 sbt,请在Use sbt shell旁边,选择用于导入和用于构建选项。
要通过 sbt shell 调试代码,请选择启用 sbt shell 调试选项,以启用sbt shell 工具窗口中的调试按钮。
有关调试的更多信息,请参阅使用 sbt 进行调试。
要更改项目中的.ivy缓存位置或设置其他sbt 属性,请使用VM 参数字段。
笔记
如果您想为您的项目配置项目重新加载选项,请参阅构建工具设置。
单击“确定”保存更改。
要检查最常见的 sbt 问题和解决方法,请参阅sbt 故障排除部分。
感谢您的反馈意见!