GWTティップス

gradleの使うjavaコンパイラを指定する

Eclipse上でgradleを使ってGWTコードのコンパイルをさせているわけだが、以下のようなエラーが発生した。

Compiling module ****
   [ERROR] Hint: Check that your module inherits 'com.google.gwt.core.Core' either directly or indirectly (most often by inheriting module 'com.google.gwt.user.User')
**** FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task '****'.
> Process 'command 'C:\Program Files\Java\jdk-9.0.1\bin\java.exe'' finished with non-zero exit value 1

何かしらJava9のコンパイラが問題を起こしているらしい。たとえEclipse自体はJava8で走行していよう(そのように指定している)が、gradle自体はデフォルトのJavaを使ってしまうらしい。これを避ける一つの方法としては、gradle.propertiesにてJAVA_HOMEを指定してしまうこと。

C:\Users\ユーザ名.gradle\gradle.propertiesに以下を書き加える。

org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_112