我正在尝试运行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完美配合。
最佳答案
Java 9今天发布,我将Play项目从Java 1.8更改为9。
然后,我发现scala尚不支持JDK 9,并且无法使用JDK 9构建Play。
似乎在支持JDK 9的scala上的工作已经开始:
https://github.com/scala/scala-dev/issues/139
遗憾的是它在发行时不起作用。