有点傻的问题,但我使用Activator开始使用play框架,现在需要查看我正在使用哪个版本。2.3支持docker,但当我将
dockerExposedPorts in Docker := Seq(9000, 9443)
放入我的build.sbt
中时,它会抱怨不知道dockerExposedPorts是什么,所以我认为我可能正在运行2.2。
有点傻的问题,但我使用Activator开始使用play框架,现在需要查看我正在使用哪个版本。2.3支持docker,但当我将
dockerExposedPorts in Docker := Seq(9000, 9443)
放入我的build.sbt
中时,它会抱怨不知道dockerExposedPorts是什么,所以我认为我可能正在运行2.2。
在 activator 控制台中键入 playVersion
。
或者您可以查看 project/plugins.sbt
中的行。
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.2")
在这个例子中,播放版本为2.3.2。
我使用以下命令列出和突出显示Play项目中的所有版本。该命令适用于多模块项目。
在 macOS Sierra 上,我使用默认的BSD find
命令和通过 brew install grep
安装的GNU grep 。后者是必需的,因为下面的命令需要支持Perl正则表达式的grep(而BSD grep不支持)。
您可以通过执行以下操作来检查您PATH中的grep是否具有Perl-regex支持(应显示-P
选项可用):
$ ggrep --help | grep -i Perl
-P, --perl-regexp PATTERN is a Perl regular expression
(ggrep 是通过 Homebrew 安装的 GNU grep)
现在,进入实际命令部分(请注意命令中的 ggrep):
$ find . -name "plugins.sbt" -exec ggrep -PHin --color=always 'com.typesafe.play.*sbt-plugin.*%\s*"\K.*?(?=")' {} \;
输出如下所示:
grep选项的快速说明(摘自grep帮助):
-P, --perl-regexp PATTERN is a Perl regular expression
-i, --ignore-case ignore case distinctions
-n, --line-number print line number with output lines
-H, --with-filename print file name with output lines
activator docker:stage
是可以正常工作的。 - joslinm