Google App Engine Blog: App Engine SDK 1.2.6 Released with Incoming Email, App Deletion, and more!
メールの送信だけじゃなく受信もできるようになったり、アプリケーションが削除できるようになったり、ローカルストレージの統計もより細かく見られるようになった。
ためしにEclipseのソフトウェア更新機能でSDK1.2.6をインストールしてアプリケーションを実行したところ、RuntimeExceptionが出て開発サーバーが起動しない。
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:153) 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:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) ... 7 moreこれまでどおり、SDK1.2.5に戻すと、正常にサーバーは起動する。
SDK1.2.6のlibの下には、SDK1.2.5のlib下にはなかったagentフォルダがあるが、それが何か関係しているのか?
不思議なのは何度か1.2.5と1.2.6をスイッチングしていると1.2.6でもRuntimeExceptionが表示されなくなるということ。
The server is running at http://localhost:8080/
と出るので、開発サーバーが正常に起動できたのかと思ってしまう。
でも、ブラウザでアドレスにアクセスしてみると、ページは真っ白で、今度はエラーがコンソールに。
java.lang.AbstractMethodError: com.google.appengine.tools.development.DevAppServerImpl.getUserPermissions()Ljava/security/Permissions; at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:128) at java.lang.Thread.setContextClassLoader(Thread.java:1351) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:739) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:342) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) 2009-10-14 02:19:43.885::WARN: handle failed java.lang.IllegalStateException: Request in context! at org.mortbay.jetty.Request.recycle(Request.java:163) at org.mortbay.jetty.HttpConnection.reset(HttpConnection.java:470) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:450) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)結局、SDKは1.2.5のまま開発を続けていますが・・・
原因は分からず。何なんでしょうねぇ。
Hi, this might help:
返信削除http://groups.google.com/group/google-appengine-java/browse_thread/thread/df660675d21c64f0?pli=1