我想通过结合两步到一步来改进sbt汇编/包操作.这两步是:
$ sbt
> project XXX
....
> assembly
Ctrl + c to exit
Run Code Online (Sandbox Code Playgroud)
此外,assembly是一个任务形式胖罐sbt插件.
我有尝试sbt project analysis assembly但没有工作.遇到错误:
[error] Not a valid command: analysis (similar: alias)
[error] Not a valid key: analysis (similar: readAnalysis, mainClass, less)
[error] analysis
[error] ^
Run Code Online (Sandbox Code Playgroud)
怎么做到这一点?谢谢
我刚刚切换到SBT 0.13.1并且arg处理已更改或存在错误.这是我正在测试的(命名sbt-test.scala):
#!/bin/sh
SBT_0_13_0="/path/to/sbt-launch-0.13.0.jar"
SBT_0_13_1="/path/to/sbt-launch-0.13.1.jar"
SBT="$SBT_0_13_1"
exec java $JAVA_OPTS -Dsbt.main.class=sbt.ScriptMain -jar "$SBT" $0 "$@"
!#
/***
scalaVersion := "2.10.3"
libraryDependencies ++= Seq(
"com.typesafe" % "config" % "1.0.0"
)
*/
import com.typesafe.config.{ConfigFactory, Config}
println(s"Args: ${args mkString ", "}")
val cfg = ConfigFactory.parseString(
"""
|credentials {
| user = someone
| pass = s3cr3t
|}
""".stripMargin)
println(cfg getString "credentials.user")
Run Code Online (Sandbox Code Playgroud)
当我运行时,./sbt-test.scala --arg=val我收到以下错误:
[error] Expected ID character
[error] Not a valid command: arg
[error] arg=val
Run Code Online (Sandbox Code Playgroud)
使用SBT 0.13.0的相同参数运行相同的脚本会产生预期的:
Args: --arg=val
someone …Run Code Online (Sandbox Code Playgroud)