从激活器 0.13.x 迁移到 sbt 1.x

Posted

技术标签:

【中文标题】从激活器 0.13.x 迁移到 sbt 1.x【英文标题】:Migrate from activator 0.13.x to sbt 1.x 【发布时间】:2018-03-30 22:44:00 【问题描述】:

我正在从 0.13.x 的激活器迁移到 sbt 1.x

我曾经像这样编译我的模块$ activator clean compile publish-local -Dversion=1

现在,由于 activator 已被弃用,我正在尝试使用 sbt 进行此操作,但我找不到应该如何迁移到类似 $ sbt clean compile publish-local -Dversion=1 的东西?

【问题讨论】:

【参考方案1】:

Activator(CLI 部分)只是 sbt 的包装器,带有一些自定义命令。所以你写的应该是一样的,期待蛇形案例被弃用而有利于骆驼案例:

sbt clean compile publishLocal

如果您需要使用 -D 将 var 传递给 Java 运行时,您必须将其放在任何命令之前:sbt -Dversion=1 ...

注意您使用batch mode 来运行命令:

以批处理模式运行每次都需要 JVM spinup 和 JIT,因此您的构建会运行得更慢。对于日常编码,我们建议使用 sbt shell 或如下所述的持续构建和测试功能。

要遵循此建议,只需运行sbt,然后一一输入这些命令。或者要按顺序运行它们,请输入; clean; compile; publishLocal

【讨论】:

@agusgambina 我看到你接受/不接受答案。有什么问题吗? 它给我一个错误,但研究它是一个来自 sbt github.com/sbt/sbt/issues/3050 的错误。所以你是对的,我会再次接受这个问题 我需要做的另一个改变是把这个序列sbt -Dversion=1 clean compile publishLocal-Dversionversion := System.getProperty("version") build.sbt 中的参数 我明白了。下次如果某些事情没有按您的预期工作,您可以对答案发表评论并获得一些帮助。我会修改关于-Dversion的答案。

以上是关于从激活器 0.13.x 迁移到 sbt 1.x的主要内容,如果未能解决你的问题,请参考以下文章

使用 SBT 进行慢速编译

激活器依赖错误

无法使用激活器加载本机库(Play 框架)

超时解决 sbt-plugin

play-slick升级后运行激活器失败

从 vagrant 运行类型安全激活器