什么是sbtconfig.txt和sbtopts用于?

Saw*_*yer 10 sbt

在sbt的0.13版本中,我在sbt/conf目录中看到了这两个文件,如果我可以更改这些文件中的选项而不是启动器脚本,那将是非常好的.

我在sbtopts中更改了一些选项,它根本没有生效,并且sbtconfig.txt确实适用于某些选项但是对于这个选项,-Dinput.encoding=iso-8859-1(我需要这个选项使用向上箭头键来查看历史记录,否则它会让我显得凌乱它只在我在sbt.bat中添加时生效.

另一个问题是,我可以把这两个文件放在~/.sbt/哪里吗?我想将所有的sbt配置存储在一个地方.

我的操作系统是Windows 8.1并使用SBT 0.13.

Eug*_*ota 10

sbtconfig.txt(仅限Windows)是一个列出JVM选项的配置文件,并由其使用sbt.bat.sbtoptssbtshell脚本使用.

阅读实际的脚本可能更好地理解它是如何使用的,但最终内容最终会在一个名为的变量中_JAVA_OPTS传递给:

"%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -cp "%SBT_HOME%sbt-launch.jar" xsbt.boot.Boot %*
Run Code Online (Sandbox Code Playgroud)

所以你应该能够添加-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
Run Code Online (Sandbox Code Playgroud)

另一个问题是,我可以把这两个文件放在~/.sbt/哪里吗?

你应该能够修改它sbt.bat来完成它.实际上看着sbtshell脚本,它说它看起来.sbtopts.您可以使用Cygwin并查看是否有效.