我设置了使用
sbt-launch.jar
的bash文件,它可以工作,但是$ sbt version
仅显示“项目版本”(0.1),并且
$ sbt --version
不执行任何操作。
#1 楼
$ sbt sbtVersion
打印当前项目中使用的sbt版本,或者每个模块都是多模块项目。
$ sbt 'inspect sbtVersion'
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] Setting: java.lang.String = 0.13.1
[info] Description:
[info] Provides the version of sbt. This setting should be not be modified.
[info] Provided by:
[info] */*:sbtVersion
[info] Defined at:
[info] (sbt.Defaults) Defaults.scala:68
[info] Delegates:
[info] *:sbtVersion
[info] {.}/*:sbtVersion
[info] */*:sbtVersion
[info] Related:
[info] */*:sbtVersion
您可能还希望使用
sbt about
(复制Mark Harrah的注释):最近添加了about命令以尝试简洁地打印最相关的信息,包括sbt版本。
#2 楼
运行命令“ sbt sbt-version”将仅输出您的当前目录和版本号。$ sbt sbt-version
[info] Set current project to spark (in build file:/home/morgan/code/spark/)
[info] 0.13.8
评论
从sbt 1.0开始,您甚至必须使用sbt sbtVersion(camelCase),因为已删除对连字符分隔名称的支持。
–sschuberth
17年9月4日在19:09
#3 楼
sbt about
然后输入以获得SBT版本#4 楼
在SBT 0.13及更高版本中,可以使用sbtVersion
任务(由@steffen指出)或about
命令(由@ mark-harrah指出)sbtVersion
任务的工作方式有所不同在SBT项目之外。在SBT项目中时,sbtVersion
显示该项目及其子项目使用的SBT版本。$ sbt sbtVersion
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Updating {file:/Users/jacek/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Loading project definition from /Users/jacek/oss/scalania/project
[info] Set current project to scalania (in build file:/Users/jacek/oss/scalania/)
[info] exercises/*:sbtVersion
[info] 0.13.1-RC5
[info] scalania/*:sbtVersion
[info] 0.13.1-RC5
在
project/build.properties
中设置:jacek:~/oss/scalania
$ cat project/build.properties
sbt.version=0.13.1-RC5
在SBT项目外部执行的同一任务显示了可执行文件本身的当前版本。
about
命令似乎更合适,因为它显示了sbt版本以及Scala的和可用的插件。其文档:jacek:~
$ sbt sbtVersion
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Updating {file:/Users/jacek/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] 0.13.0
对于
sbtVersion
设置,inspect
命令可以提供帮助。jacek:~
$ sbt about
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] This is sbt 0.13.0
[info] The current project is {file:/Users/jacek/}jacek 0.1-SNAPSHOT
[info] The current project is built against Scala 2.10.2
[info] Available Plugins: com.typesafe.sbt.SbtGit, com.typesafe.sbt.SbtProguard, growl.GrowlingTests, org.sbtidea.SbtIdeaPlugin, com.timushev.sbt.updates.UpdatesPlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.2
version
人们似乎希望检查以了解SBT版本的设置是设置当前模块的版本/修订版。jacek:~
$ sbt 'help about'
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
Displays basic information about sbt and the build.
在SBT项目中使用时,任务/设置可能显示不同的输出。
评论
也许您正在使用自定义的sbt启动器,例如sbt-extras,它在命令行中覆盖了sbt-version 1的含义。否则,我不知道命令行和提示符下的sbt-version有什么区别。在两种情况下,它应该是相同的sbtVersion设置。
–马克·哈拉(Mark Harrah)
2013年12月2日21:59
有什么办法可以为不同的子项目设置不同的sbt版本?
–アレックス
13年12月29日在13:27
stackoverflow.com/questions/20825539/…
–アレックス
13年12月29日在13:41
为什么在项目外部运行sbt sbtVersion需要9秒钟才能运行? Python,node和ruby都需要一秒钟的时间,awk,sed,minibloom和其他许多命令行工具也只需一秒钟。 gcc需要一整秒,非常慢。但是9秒花了樱桃。那个时候sbt在做什么?
–马克斯·墨菲(Max Murphy)
18年3月18日在10:20
@MaxMurphy JVM初始化是我认为最慢的事情。
–杰西克·拉斯考斯基(Jacek Laskowski)
18 Mar 18 '18 at 12:53
#5 楼
您可以使用sbt about
Example: C:\Users\smala>sbt about [info] Set current project to smala (in build file:/C:/Users/smala/) [info] This is sbt 0.13.6 [info] The current project is {file:/C:/Users/smala/}smala 0.1-SNAPSHOT [info] The current project is built against Scala 2.10.4 [info] Available Plugins: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin [info] sbt, sbt plugins, and build definitions are using Scala 2.10.4"
评论
对于寻求该问题答案的其他人,这就是答案。无法理解为什么上面的错误答案被接受...通过深入讨论,可以找到这个答案...但是...
–TheGeeko61
18年3月31日下午4:35
#6 楼
在sbt外壳内sbt:venkat> about
[info] This is sbt 1.3.3
...
#7 楼
运行sbt控制台,然后键入sbtVersion
检查sbt版本,并键入scalaVersion
以获得scala版本#8 楼
进行sbt sbt-version
会导致一些错误,如[error] Not a valid command: sbt-version (similar: writeSbtVersion, session)
[error] Not a valid project ID: sbt-version
[error] Expected ':'
[error] Not a valid key: sbt-version (similar: sbtVersion, version, sbtBinaryVersion)
[error] sbt-version
[error] ^
您可以看到提示
similar: sbtVersion, version, sbtBinaryVersion
,它们都可以工作,但正确的是由sbt sbtVersion
生成的评论
较新版本的以下作品,sbt about或sbt sbtVersion
– viru
18-10-18在20:04
已经有其他答案,我只想包含新信息,而不要重复其他答案@viru
–拉梅什·马哈然(Ramesh Maharjan)
18-10-22在0:21
评论
是否可以考虑--version命令行标志?人们会首先尝试的。
–马特R
2012年10月9日9:56
问题是“如何检查我正在运行的sbt版本?”答案是关于准备当前项目的版本。为什么接受答案?
–樱桃
2015年6月23日7:22
相信SBT始终选择最非标准的方式:)
–最好的
2015年12月12日15:12
全世界使用“ --version”,sbt使用“ sbtVersion”。我必须在需要时每次检查一次(不经常)。
–user2241239
17年11月30日在23:07
遵循良好的旧sbt传统,在文档中比较晦涩难懂。
– Matanster
18年4月10日在13:06