在sbt的0.13版本中,我在sbt / conf目录中看到了这两个文件,如果我可以更改这些文件中的选项而不是启动器脚本,那将是非常好的。
我在sbtopts中更改了一些选项,它根本没有生效,sbtconfig.txt确实适用于某些选项但对于此选项-Dinput.encoding=iso-8859-1
(我需要使用此选项以使用向上箭头键查看历史记录,否则显示凌乱的代码)只有在sbt.bat中添加它才会生效。
另一个问题是,我可以将这两个文件放在~/.sbt/
的某处吗?我想将所有的sbt配置存储在一个地方。
我的操作系统是Windows 8.1并使用SBT 0.13。
答案 0 :(得分:10)
sbtconfig.txt
(仅限Windows)是一个列出JVM选项的配置文件,由sbt.bat
使用。 sbtopts
shell脚本使用sbt
。
最好阅读实际的脚本以确切了解它是如何使用的,但最终内容将最终出现在名为_JAVA_OPTS
的变量中并传入:
"%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -cp "%SBT_HOME%sbt-launch.jar" xsbt.boot.Boot %*
所以你应该能够在那里添加-Dinput.encoding=Cp1252
或其他任何东西。如果这不适合你,%JAVA_OPTS%
可能是非空的(然后会忽略sbtconfig.txt
),或者%SBT_OPTS%
可能会将设置覆盖为其他内容吗?不确定。
您可以使用sbt console
检查属性是否已设置:
scala> sys.props("input.encoding")
res0: String = null
scala> sys.props("file.encoding")
res1: String = UTF-8
另一个问题是,我可以将这两个文件放在
中~/.sbt/
吗?
您应该可以修改sbt.bat
来完成这项工作。事实上,在查看sbt
shell脚本时,它会查看.sbtopts
。您可以使用Cygwin查看是否有效。