草庐IT

scala - SBT:如何访问环境变量或配置?

我发布到内部Nexus存储库。我们有两个存储库,“开发”和“生产”。开发人员使用开发存储库,构建团队使用他们从安全区域中的机器访问的生产存储库。我想添加一个环境变量或SBT配置,它使用默认值“dev”定义STAGE。在生产构建框上,STAGE将被覆盖为“生产”。我怎样才能做到这一点?我能够在我的build.sbt文件中定义阶段并在publishTo任务中使用它,我只是不知道如何从环境中获取值(value)。这是我所拥有的。valstage=settingKey[String]("stage")stage:="dev"publishTovalnexus="http://my-intern

scala - 更新后 Unresolved 依赖 SBT 0.13.0

将SBT更新到0.13.0:我有几个使用Scala2.10.2编写并使用sbt0.12.4构建的项目。由于我的操作系统是Ubuntu,我使用SBT.deb包安装sbt0.12.4。一切都很好。我用sbt构建了我的项目。昨天我想更新sbt到0.13.0版本。我下载并安装了新的.deb包。项目配置未更改。失败:更新后运行SBT时出现此错误:$sbtLoading/usr/share/sbt/bin/sbt-launch-lib.bashGettingorg.scala-sbtsbt0.13.0...::problemssummary::::::WARNINGSmodulenotfound:

scala - SBT - 姓名和身份证有什么区别?

我想知道项目名称和id之间的SBT是否存在差异。我注意到带有以下键的示例build.sbt文件:name:="MyProject"我注意到Build.scala文件包含:Project(id="MyProject",base=file("."))有区别吗?两者应该相同还是无关?它们是用来做什么的?谢谢! 最佳答案 项目名称应用作项目名称,任何文档的可见标题。Id用于引用项目以修改设置或依赖管理,即将子项目连接到根项目,您可以说subproject.dependsOn(rootProjectId)

scala - 如何为 SBT 设置默认项目

假设我有一个包含三个项目的构建:A、B和C。如果我当前在A的上下文中并重新加载构建,它可能会在重新加载后将上下文更改为C。因此,每次重新加载后我都必须更改项目上下文。有没有办法将特定项目设置为默认上下文? 最佳答案 SBT选择第一个词法项目变量名称,所以我只是将我的项目名称设置为:valaaaFrontend=PlayProject(此外,我相信您可以覆盖一个项目Seq。最后,在SBT0.12中,您可以在.sbtrc中执行此操作:aliasboot=;reload;projectX;iflastshell

git - sbt 如何从 git 中提取依赖项?

我听说(而且我知道我也看过一些例子,只要我记得在哪里)sbt可以从gitrepo获取依赖项。我正在寻找依赖harrah/up来自github。该存储库不提供任何工件JAR文件,仅提供使用sbt构建的源代码树。我想象的过程是sbt将下载源代码库,构建它,然后将其用作依赖项。我可能在想象sbt实际上可以做这样的事情。它可以?如果有,怎么做? 最佳答案 您可以使用dependsOn运算符将未打包的依赖项从GitHub导入到您的项目中,方法是将它们视为项目依赖项。(这与包含预编译库依赖项的方式不同)。请注意,您可以使用#表示法指定要提取的分

Scala 构建崩溃

我已将scala和sbt版本分别更新为2.12.0和0.13.8。现在每个构建都失败并出现错误:java.lang.VerifyError:Uninitializedobjectexistsonbackwardbranch209ExceptionDetails:Location:scala/collection/immutable/HashMap$HashTrieMap.split()Lscala/collection/immutable/Seq;@249:gotoReason:ErrorexistsinthebytecodeBytecode:0000000:2ab6005704a00

Scala 构建崩溃

我已将scala和sbt版本分别更新为2.12.0和0.13.8。现在每个构建都失败并出现错误:java.lang.VerifyError:Uninitializedobjectexistsonbackwardbranch209ExceptionDetails:Location:scala/collection/immutable/HashMap$HashTrieMap.split()Lscala/collection/immutable/Seq;@249:gotoReason:ErrorexistsinthebytecodeBytecode:0000000:2ab6005704a00

java - 使用 SBT 构建纯 Java 项目

过去,我曾使用Ant+Ivy或Maven来构建我的Java项目。我现在正在研究基于非xml的解决方案。Gradle可以编译、打包和发布我的项目,而且问题很少。我可以对SBT做同样的事情吗?如果是这样,您能否提供一个使用sbt构建纯java项目的简单示例。 最佳答案 是的,这是完全可能的。没有什么需要设置的,一个小的build.sbt文件就可以解决问题,比如:organization:="your.group.id"name:="Yourproject"version:="1.0-SNAPSHOT"libraryDependencie

java - 使用 SBT 构建纯 Java 项目

过去,我曾使用Ant+Ivy或Maven来构建我的Java项目。我现在正在研究基于非xml的解决方案。Gradle可以编译、打包和发布我的项目,而且问题很少。我可以对SBT做同样的事情吗?如果是这样,您能否提供一个使用sbt构建纯java项目的简单示例。 最佳答案 是的,这是完全可能的。没有什么需要设置的,一个小的build.sbt文件就可以解决问题,比如:organization:="your.group.id"name:="Yourproject"version:="1.0-SNAPSHOT"libraryDependencie

scala 报错:error compiling the sbt component ‘compiler-interface-2.11.8-56.0‘

报错内容error:errorcompilingthesbtcomponent‘compiler-interface-2.11.8-61.0’报错原因SBT与JDK版本不兼容一般处理方式重新安装SBT到2.11.x版本重新安装JDK到jdk1.8并且修改IDEASDK等到java1.8其他处理方式如果对scala或者Java没有特殊的版本要求(比如必须配置2.11.x或者使用Java1.8),一般参照SBT和JDK版本对应关系配置。参考链接https://docs.scala-lang.org/overviews/jdk-compatibility/overview.htmlJDKversio