在尝试找出一些joda-time DateTime(时间戳格式化)问题时,我打开了一个REPL
scala -cp joda-time-2.3.jar
Run Code Online (Sandbox Code Playgroud)
并忘记添加joda-convertjar,最终得到了一个
java.lang.AssertionError: assertion failed: org.joda.convert.ToString
Run Code Online (Sandbox Code Playgroud)
(整个堆栈跟踪)
我能够将其简化为:
> scala -cp joda-time-2.3.jar
Welcome to Scala version 2.11.0 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_05).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val dt = new org.joda.time.DateTime
warning: Class org.joda.convert.FromString not found - continuing with a stub.
warning: Class org.joda.convert.ToString not found - continuing with a stub.
warning: Class org.joda.convert.FromString not found - continuing with …Run Code Online (Sandbox Code Playgroud) 在sbt shell中如何设置子项目的设置?
我知道我可以project subproject,然后set key := value,但我不希望有保持开关项目.理想情况下与以下内容不同:
set key in subproject := value
Run Code Online (Sandbox Code Playgroud) 我目前有一个命令行sbt -Dsome.configuration.option test做我想要的,但我希望它自动应用该配置选项sbt test(并没有其他sbt阶段).如果我的术语是正确的,那么我想为测试配置设置Java选项.我该怎么做呢?
搜索这些条款让我看到http://www.scala-sbt.org/release/docs/Testing.html但我还没有理解它.
这个问题看起来与我的相似: 在sbt中定义自定义测试配置
我想转换这个bash表达式:
$ sbt clean lint
Run Code Online (Sandbox Code Playgroud)
进入一个很好的build.sbt表达式,如:
precommit := clean <> lint
Run Code Online (Sandbox Code Playgroud)
这样我就可以运行以下bash表达式:
$ sbt precommit
Run Code Online (Sandbox Code Playgroud)
例如,这或多或少是你用Makefile做的:
lint:
echo linting
touch foo.txt
clean:
echo cleaning
rm -f foo.txt
precommit: clean lint
Run Code Online (Sandbox Code Playgroud)
Makefile可以像:
$ make precommit
echo cleaning
cleaning
rm -f foo.txt
echo linting
linting
touch foo.txt
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?