如何查找我正在使用的Play版本?

71

有点傻的问题,但我使用Activator开始使用play框架,现在需要查看我正在使用哪个版本。2.3支持docker,但当我将

dockerExposedPorts in Docker := Seq(9000, 9443)

放入我的build.sbt中时,它会抱怨不知道dockerExposedPorts是什么,所以我认为我可能正在运行2.2。


实际上,从2.3版本开始,activator docker:stage是可以正常工作的。 - joslinm
2个回答

124

在 activator 控制台中键入 playVersion

或者您可以查看 project/plugins.sbt 中的行。

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.2")

在这个例子中,播放版本为2.3.2。


1
嗨,詹姆斯,playVersion 只是显示 plugin.sbt 还是从二进制文件中获取版本?可能存在不匹配的情况吗?谢谢,路易斯。 - LMC
27
当我在activator控制台输入playVersion时,收到了"[error] Not a valid command: playVersion"的错误提示。然而,我确实在项目/plugins.sbt文件中看到了Play版本。 - Niko Bellic

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.*?(?=")' {} \;

输出如下所示:

enter image description here

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接