2013年11月6日水曜日

GAE(Java)のプロジェクトが変になった



SDKが初期化できないとかなんとかという現象でした。

ちょうどこことかここにあるような内容と同じ現象でした。
cleanができない、プロジェクトに赤いびっくりマーク(!)が表示される……
泣きそうでした。


なにを契機におかしくなったのかは不明です。
なんとか復活できましたので、その内容をメモしておきます。

【環境】
パソコン: iMac 21.5-inch, Late 2012
    プロセッサ 2.7GHz Intel Core i5
                メモリ 8 GB 1600 MHz DDR3
OS: Mac OSX 10.9 Mavericks
Eclipse: バージョン4.2.2
Java: Java 6

【対処概要】
Java 7をインストールする。
Warning: The App Engine SDK no longer supports Java 6. Applications that use Java 6 need to be migrated to Java 7. Existing applications that use the Java 6 runtime are still supported, but this support will be removed in a future release.
なのだそうです。

【メモ】
1. JDK 7のインストール
ここを参考にさせていただきました。ありがとうございます。
「(4) 環境変数を設定する」はやっていないです。よくわからなかったので。
「(5) システムのJavaを設定する。」もやっていないです。
そのかわり、java -versionとかjavac -versionとかやったら、
Java 7(1.7.0_45)に変わっていることは確認しました。
(※)MacでのJava Preferencesは、ここにあるようです。
 ある時点から、アプリケーション->ユーティリティ配下ではなくなったようです。
  リンゴマーク(左上)→システム環境設定…


2. プロジェクトを修正する
・右クリック(※) ⇒ Properties -> Google -> App Engine
 Use specific SDKを正しいものに選びなおす。

・右クリック ⇒ Properties -> Java Build Path -> Librariesで×マークになっているものを
 Removeする。
 ⇒ プロジェクト欄の赤いびっくりマーク(!)は消えました。
   しかし、Project -> Cleanしてもまだなにやらエラーがでていました。
     あと一歩です!
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/appengine/tools/enhancer/Enhance : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)


・JREの設定
 ⇒ こちらがJava 6のままだったから不都合が起きていたようです。

      Eclipse(※) -> 環境設定… -> Java -> Insitalled JREs
     (※)リンゴの隣です。Windows PCの場合は、Window -> Preferencesだったとおもいます。
      jre6にチェックがついていました。
      Searchボタンを押すと、jre7が見つかったので、チェックをつけてOK。

だいたいこんな感じで、再びcleanや実行、deployができるようになりました!

他にはORACLE様のFAQが参考になりそうなのでリンクを紹介しておきます。

(※)生粋のMacユーザさん達は右クリックなんてしないのですかね。
私はマウスの設定で右クリックを有効にしています。慣れた操作なので、私にはしっくりきます。




0 件のコメント:

コメントを投稿