なんの拍子か判らないけど、気がついたら eclipse から appengine へデプロイしようとすると、こんなダイアログが出て失敗する様になりました。
An internal error occurred during Deploying %APPNAME% to Google NullPointerException
理由は判りません。
心当たりがあるとすれば、appengine python sdk のランチャを弄ってた位です。
Windows XP 、eclipse は Helios、appengine java SDK は 1.5.5 です。
取り急ぎは macbook air の開発環境から問題なくdeploy出来るんでいいんですが、そこそこ困ります。
更に、ローカルで実行しようとすると、こんな風に怒られます。
java.lang.RuntimeException: Unable to locate the App Engine agent. Please use dev_appserver, KickStart, or set the jvm flag: "-javaagent:<sdk_root>/lib/agent/appengine-agent.jar" at com.google.appengine.tools.development.DevAppServerFactory.testAgentIsInstalled(DevAppServerFactory.java:102) at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:77) at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:38) at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:154) at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48) at com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113) at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89) Caused by: java.lang.NoClassDefFoundError: com/google/appengine/tools/development/agent/AppEngineDevAgent at com.google.appengine.tools.development.DevAppServerFactory.testAgentIsInstalled(DevAppServerFactory.java:98) ... 6 more Caused by: java.lang.ClassNotFoundException: com.google.appengine.tools.development.agent.AppEngineDevAgent at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 7 more </init></sdk_root>
どうやら、VMの引数をちゃんとしろと言っているようです。
プロジェクトを右クリックして、英語の場合は[Run As] – [Run Configurations] を起動、[(x) = Arguments]タブ (日本語化の場合は[実行] – [実行の構成…] で[(x)=引数]タブ)で指定できます。
ですが、元々の値が判りませんし入れるのメンドクサイです。
かんたんな対処法は、パッケージエクスプローラ上の「App Engine SDK [App Engine – 1.x.x]を右クリックし、ビルドパスから除去して、プロジェクトのプロパティから再度SDKを指定すれば自動で入りました。