scala - 设置 Scala 项目
问题描述
是否有标准来设置build.sbt
包含在子目录中的 Scala 项目?
我已经克隆了https://github.com/lightbend/cloudflow并在 IntelliJ 中打开它,结构如下:
可以看到核心包含build.sbt
。
如果我core
在新项目窗口中打开项目,那么 IntelliJ 将识别 Scala 项目。
如何编译 Scala 项目core
,同时在 IntelliJ 窗口中保持其他文件夹可用?
解决方案
编辑:如果您确实想玩这个项目,那么导入一个 SBT 项目并选择 core 作为根就足够了。Intellij 还应该检测build.sbt
是否以 root 身份打开核心。
这是SBT 参考手册
传统上,build.sbt
将是项目的根。
如果你想使用他们的库,你应该在你的 sbt 文件中导入它们,除非你打算修改或分叉他们的 repo,否则你不应该克隆 repo。
要将库导入您的项目,请查看Cloudflow 的 Maven 存储库,选择项目,单击所需的版本,然后选择 SBT 选项卡。只需将这些依赖项复制并粘贴到您的build.sbt
. 使用 SBT 构建项目后,您应该可以使用所有这些包。
所以在[ProjectRoot]/build.sbt
某些方面
val scalaVersion = "2.13.4"
lazy val root = (project in file("."))
.settings(
name := "Your_Project_Name",
scalaVersion := scalaVersion,
libraryDependencies += "com.lightbend.cloudflow" %% "cloudflow-streamlets" % "2.0.26-RC12",
// Either sequentially
libraryDependencies += "com.lightbend.cloudflow" %% "cloudflow-akka" % "2.0.26-RC12",
// Or as a sequence (note that you can have a trailing comma for these)
libraryDependencies ++= Seq(
"com.lightbend.cloudflow" %% "cloudflow-blueprint" % "2.0.26-RC12",
"com.lightbend.cloudflow" %% "cloudflow-flink" % "2.0.26-RC12", // No next elemenet
)
// Or combo using both like above, just don't forget the commas in between
)
推荐阅读
- python - 为什么python不会在这个函数中添加
- actions-on-google - 教程“actions-on-google/smart-home-nodejs”的难度
- java - Kafka 流监听多个主题挂起
- python - 为什么 PyTables 在使用带有负步的迭代排序时不返回第一行?
- php - PHP 使用字符串来表示数组元素
- javascript - D3 Geojson 地图不会显示
- python - 试图理解reduce在python中的作用
- google-cloud-platform - 如何从 Google Cloud Compute Engine Disk 读取/获取文件而不连接到它?
- virtual-machine - 在 Centos 7.0 上向 qemu-kvm 启动的 VM 传递参数或共享目录/文件的方法
- java - 如何创建具有动态规则的比较器?