从激活器 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
。 -Dversion
是version := System.getProperty("version")
在build.sbt
中的参数
我明白了。下次如果某些事情没有按您的预期工作,您可以对答案发表评论并获得一些帮助。我会修改关于-Dversion
的答案。以上是关于从激活器 0.13.x 迁移到 sbt 1.x的主要内容,如果未能解决你的问题,请参考以下文章