Java8でPlay2(Java)を動かす

Java8がリリースされたのでPlay2をJava8で動かしたいと思うのは人類の自然な発想だと思います。
Play2ではPromise周りとかでFunctionalInterface使う場面ちょこちょこありますし、別に使わなくても便利な機能ガン増えなのでPlay2をJava8で使えたらQOL上がること間違い無しだと思います。

そのままでは動かない

Play2.2.2現在、Java8インストールして普通に動かそうとしても動きません。

とのことなのでbuild.sbtに

scalaVersion := "2.10.2"

を足しましょう。これだけで動きます。

http://i.gyazo.com/bd9b1385929dea482d96c86159590212.png

コードはこんな感じ

package controllers;

import play.*;
import play.mvc.*;

import views.html.*;

import java.util.function.Supplier;

public class Application extends Controller {

    public static Result index() {
        return getOk(() -> "Java8");
    }

    private static Result getOk(Supplier<String> sup) {
        return ok(index.render(sup.get()));
    }
}

まとめ

あなたとJava、今すぐダウンロード