让PlayFramework使用Java 1.8源代码

时间:2014-08-07 09:18:31

标签: java playframework

我在使PlayFramework使用1.8源码时遇到问题。

我在CentOS上安装了1.8,并且可以通过检查版本

来验证它
java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) Server VM (build 25.11-b03, mixed mode)

我已将源添加到Build.config

javaOptions ++= Seq("-Xmx512M", "-Xmx2048M", "-XX:MaxPermSize=2048M", "-source", "1.8", "-target", "1.8")

但是在任何java 1.8新功能(例如

)上都存在编译错误
myProcess.waitFor(5, TimeUnit.SECONDS); //Compile error new java 8 feature

如果我在启动时在我的JAVA_OPTION上设置标志-showversion打印出来

8.0
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) Server VM (build 25.11-b03, mixed mode)

最终编辑 如果我进入播放控制台,我会得到以下输出

play 2.2.2-RC2 built with Scala 2.10.3 (running Java 1.8.0_11), http://www.playframework.com

所以它必须是-source和-target选项,默认为1.7。

1 个答案:

答案 0 :(得分:0)

问题在于我使用替代方法在CentOS上安装Oracle 1.8 JDK,但它没有创建任何指向javac的链接。所以Java有正确的版本,但javac指向1.7 OpenJDK

这就是我必须做的事情:

cd /etc/alternatives/
ln -s /opt/jdk1.8.0_11/bin/javac javac     //Create a symlink to javac
cd /usr/bin
sudo ln -s /etc/alternatives/javac javac   //In my /usr/bin create a symlink to javac