我正在尝试运行Scala Play!项目,我已经安装了jdk 9。我尝试使用入门项目和使用sbt创建项目。 sbt编译工作正常,但sbt run抛出异常。
我从这个页面http://developer.lightbend.com/start/?group=play下载了play-scala-start-example.zip,将其解压缩到一个文件夹然后cd到该文件夹并且sbt run给出了以下错误:
java.lang.NumberFormatException: Not a version: 9
at scala.util.PropertiesTrait$class.parts$1(Properties.scala:176)
at scala.util.PropertiesTrait$class.isJavaAtLeast(Properties.scala:180)
at scala.util.Properties$.isJavaAtLeast(Properties.scala:16)
at play.dev.filewatch.FileWatchService$$anon$1.delegate$lzycompute(FileWatchService.scala:68)
at play.dev.filewatch.FileWatchService$$anon$1.delegate(FileWatchService.scala:66)
at play.dev.filewatch.FileWatchService$$anon$1.watch(FileWatchService.scala:79)
at play.runsupport.Reloader.<init>(Reloader.scala:359)
at play.runsupport.Reloader$.reloader$lzycompute$1(Reloader.scala:220)
at play.runsupport.Reloader$.play$runsupport$Reloader$$reloader$1(Reloader.scala:220)
at play.runsupport.Reloader$.startDevMode(Reloader.scala:230)
at play.sbt.run.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$2$$anonfun$apply$3.devModeServer$lzycompute$1(PlayRun.scala:77)
at play.sbt.run.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$2$$anonfun$apply$3.play$sbt$run$PlayRun$$anonfun$$anonfun$$anonfun$$devModeServer$1(PlayRun.scala:77)
at play.sbt.run.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$2$$anonfun$apply$3.apply(PlayRun.scala:100)
at play.sbt.run.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$2$$anonfun$apply$3.apply(PlayRun.scala:63)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) java.lang.NumberFormatException: Not a version: 9
解决:它与我之前安装的jdk 1.8.0_121完美配合。
答案 0 :(得分:2)
Java 9今天发布,我将Play项目从Java 1.8更改为9。
然后我发现scala还不支持JDK 9,而且用JDK 9构建Play是不可能的。
似乎支持JDK 9的scala工作已经开始:
https://github.com/scala/scala-dev/issues/139
很遗憾它在发布时不起作用。