[Heroku]Java7使いたいときはsystem.propertiesで指定する

メモ。HerokuはOpenJDK 7をサポートしていますが、デフォルトは6のままなので、利用したい場合はプロジェクト直下に「system.properties」ファイルを作成して「java.runtime.version=1.7」とプロパティを追加してやる必要があります。

Updating Existing Java Apps to Use Java 7

Herokuにpushしたらrejectされた。

pre-receive hook declined
—–> Java app detected
—–> Installing OpenJDK 1.6…done
—–>

~~~~~~

[ERROR] COMPILATION ERROR :
[INFO]
————————————————————-

[ERROR]
/tmp/build_3c0uqjwyytggz/src/main/java/com/example/services/DataIoService.java:[62,39]
illegal start of type

指摘の箇所でダイアモンド演算子を使っていた(Java7から許される書き方)。
上のログにもあるようにHerokuは今のところデフォルトだとJava6になるようだ。なのでsystem.propertiesファイルでバージョン7を指定して、から再度pushする。成功。やったー
それでもだめならpom.xmlのmaven-compiler-pluginのとこのバージョン指定がjava6になってるのかも?ちゃんと「1.7」としておく。


コメントを残す