SBT 中的 :、:: 和 / 有什么区别?

2024-04-27

我试图回忆是否是test:compile, test::compile or test/compile当我在 SBT 上做一些事情时,我突然意识到,虽然我对使用哪个分隔符做什么有一些直觉,但我对每个分隔符的用途并不清楚。

因此,当在 sbt 控制台上输入任务时,我何时/为何使用:, :: and /?


不同的分隔符 https://www.scala-sbt.org/1.x/docs/Inspecting-Settings.html#Task-specific+Settings被用于不同的范围轴 https://www.scala-sbt.org/1.x/docs/Scopes.html#Scope+axes:

  • 单冒号:遵循配置轴
  • 双冒号::遵循任务轴
  • slash /遵循子项目轴

然而,这些已被统一斜杠语法: sbt shell 表示法和 build.sbt DSL 的统一 https://contributors.scala-lang.org/t/unification-of-sbt-shell-notation-and-build-sbt-dsl/913讨论导致统一 sbt shell 和 build.sbt 语法(范围路径语法)#3434 https://github.com/sbt/sbt/pull/3434发布于1.1.0 https://github.com/sbt/sbt/releases/tag/v1.1.0斜杠语法

<project-id>/<config-ident>/intask/key

对应于

<project-id>/config:intask::key

因此,例如,

show root/Compile/compile/scalacOptions

对应于

show root/compile:compile::scalacOptions

相关问题:sbt 中的一个冒号是什么意思 https://stackoverflow.com/a/48324113/5205022

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SBT 中的 :、:: 和 / 有什么区别? 的相关文章

  • 使用 sbt 将工件发布到 AWS CodeArtifact

    我正在尝试将工件发布到AWS CodeArtifact using sbt 但我遇到了一些麻烦 给定一个sbt项目 运行命令sbt publish包已上传到存储库 但仍保留在Unfinished状态 AWS CodeArtifact文档 h
  • 如何在IDEA中打开项目时停止自动刷新SBT模块?

    我们有多个 Play 2 应用程序和模块 但我在将 IntelliJ IDEA 13 集成到我的开发流程中时遇到了问题 我有一个基于应用程序的公共父级的空项目 并且我已使用导入现有 SBT 项目选项将每个应用程序作为模块导入 我的问题是 每
  • 加载 CharSequence 时出错(scala 2.11.4)

    他们建议我更新 scala 所以我这样做了 scala version Scala code runner version 2 11 4 Copyright 2002 2013 LAMP EPFL 但这个错误仍然存 在 my project
  • SBT 未解决 Squeryl 依赖关系

    我最近开始了一个新项目 Play 框架和Scala 我习惯于使用 Squeryl 进行 ORM 但由于某种原因 这次它无法解决我的依赖关系 尽管它会解决其他问题 只是不能解决 squeryl 问题 我所做的唯一不同的是 我使用的计算机与以前
  • 在 sbt 中添加仅编译时的子项目依赖项

    我有一个多项目包含一个私有宏子项目 其用途仅限于实现其他子项目的方法体 它既不应该出现在其他子项目的运行时类路径上 也不应该以任何形式在其他子项目已发布的 POM 中可见 这样其他 sbt 项目就可以在不知道宏子项目的情况下使用该项目中的库
  • 如何运行“sbt hello, world”?

    我正在尝试了解 Scala SBT 并正在浏览http www scala sbt org 0 13 docs Hello html http www scala sbt org 0 13 docs Hello html 第一步进展顺利 我
  • SBT 不使用基于 ssh 的解析器来解决依赖关系

    我的定义如下build sbt libraryDependencies com bubblefoundry something 0 1 SNAPSHOT resolvers val privateKeyFile new java io Fi
  • 如何将sbt项目导入到Eclipse中?

    我想将我的 sbt 项目导入 Eclipse 在网上搜索时 我了解到 Eclipse 有一个 sbteclipse 插件可以导入 sbt 项目 但我不知道该怎么做 我在 Ubuntu 12 04 LTS 上使用 Eclipse Kelper
  • 如何将环境变量传递给 Jenkins 中的 sbt 测试构建步骤?

    在我的 scala 测试中 我通过以下方式读取了环境变量sys props getOrElse cassandra test host DEFAULT CASSANDRA TEST HOST 测试通过 Jenkins 运行 我添加了一个Bu
  • 如何使用 sbt 将 Scala 库发布到 Maven Central?

    我有一个使用 SBT 的开源 Scala 项目 我想将我的库发布到 Maven 我该怎么做 我总是忘记如何做到这一点 所以这是我的笔记 一生中一次 Create Sonatype账户 https issues sonatype org se
  • 如何覆盖 sbt 中对某些任务的依赖

    我想在某些任务中覆盖对项目的依赖 我有一个使用 Spark 的 sbt 多项目 lazy val core Some Project val sparkLibs Seq org apache spark spark core 1 6 1 v
  • 由于 StaticLoggerBinder.class 中的重复数据删除错误,Scala SBT 程序集无法合并

    我的问题是我无法再使用 sbt assemble 插件 因为在从事该项目的几个人之间出现了某种依赖项合并问题 我运行 sbt assembly 时出现的问题 错误 合并时遇到3个错误 java lang RuntimeException 重
  • scalapb如何从测试目录中的protobuf文件生成代码?

    我想从测试目录中的 protobuf 文件生成代码 project test protobuf myproto proto 这是行不通的 PB targets in Test Seq scalapb gen gt sourceManaged
  • SBT 中的 :、:: 和 / 有什么区别?

    我试图回忆是否是test compile test compile or test compile当我在 SBT 上做一些事情时 我突然意识到 虽然我对使用哪个分隔符做什么有一些直觉 但我对每个分隔符的用途并不清楚 因此 当在 sbt 控制
  • 如何将 sbteclipse 插件添加到 SBT 0.10.x

    我想查看akka的源代码 似乎使用的是0 7 x版本的sbt 我将项目配置转换为0 10 x版本 当我在库依赖项中添加 sbteclipse 并运行 eclipse create src 生成 eclipse 项目时 它告诉 eclipse
  • 无法从 JAR 文件加载主类

    我有一个 Spark scala 应用程序 我尝试显示一条简单的消息 Hello my App 当我编译它时sbt compile并运行它sbt run没关系 我成功显示了我的消息 但他显示了错误 像这样 Hello my applicat
  • Akka Testkit 错误且版本不明确

    我正在使用 Akka testkit 库来测试我的一些演员 这是我的 build sbt 中的内容 com typesafe akka akka testkit 2 6 10 Test 这是我得到的错误 java lang IllegalS
  • sbt 程序集中的合并策略和缺少的应用程序加载器

    我正在开发一个 Play Web 应用程序 我希望能够使用 sbt 程序集将其部署为 fat jar 在调试中运行应用程序时 我可以识别 guice 库 因为它已添加到我的 build sbt 文件中 libraryDependencies
  • idea sbt java.lang.NoClassDefFoundError: org/apache/spark/SparkConf

    我是spark的初学者 我使用 linux idea sbt 构建了一个环境 当我尝试快速启动Spark时 我遇到了问题 Exception in thread main java lang NoClassDefFoundError org
  • SBT - 运行任务来设置SettingKey

    所以我的一般问题是我想根据任务的结果设置版本密钥 但是版本密钥是在任务运行之前设置的 据我了解 一旦设置了键的值 我就无法更改它 因此我无法在我的任务中更改它 我想要做的是将任务作为发布任务的依赖项运行并更改版本的值 我觉得一定有办法做到这

随机推荐