appengine-java-sdkとJAVAのアップデートでエラー[Google App Engine]
appengine-java-sdk最新版:https://cloud.google.com/appengine/downloads
ダウンロードして設置するといくつかエラーが出たので、覚書。
※コンパイルには"ant compile"、デプロイには"appcfg.cmd update"のコマンドを使用
[error1]コンパイルで『javaのバージョンが6でどうたらこうたら・・・』
[解決]javaをバージョン8をインストール
JDK最新版:http://www.oracle.com/technetwork/java/javase/downloads/index.html
コンパイラで
>java -version
java version "1.8.0_45"
となればOK
[error2]コンパイルで『java.lang.UnsupportedClassVersionError: com/google/appengine/tools/enhancer/EnhancerTask : Unsupported major.minor version 51.0』
→環境変数"JAVA_HOME"が古いバージョンを指していたので、
C:/xxxx/Java/jdk1.8.0_45 (さっきインストールしたファイル)に修正。
>javac -version
javac 1.8.0_45
となればOK
[error3]デプロイしようとして『Bad configuration: appengine-web.xml does not contain a <threadsafe> element.』
→プロジェクト名/war/WEB-INF/appengine-web.xml に
<threadsafe>true</threadsafe> を追記
[error4]デプロイしようとして『java.lang.RuntimeException: Cannot get the System Java Compiler. Please use a JDK, not a JRE.
Error Details:
4 26, 2015 10:37:46 午後 org.apache.jasper.JspC processFile
情報: Built File: \aaaa.jsp
4 26, 2015 10:37:46 午後 org.apache.jasper.JspC processFile
情報: Built File: \bbbb.jsp
4 26, 2015 10:37:46 午後 org.apache.jasper.JspC processFile
情報: Built File: \cccc.jsp
4 26, 2015 10:37:46 午後 org.apache.jasper.JspC processFile
情報: Built File: \dddd.jsp
・・・・』
→環境変数"Path"で古いバージョンを指していたのでこれは削除してみた
[error5]サーバー側で『ava.lang.UnsupportedClassVersionError: 』
→結局jdk1.8.0_45 ではなく jdk1.7.0_79でコンパイル、クラスファイルを作成しアップロード。これでエラー起きなかった。
ネットで原因を探そうとすると、Eclipseに関する説明が多く、
開発環境をEclipseにしておけば、悩むことも減りそうだと思った。