Google App EngineでGroovletをクライアント実行するとエラー出るよね?
Groovy の Groovlet を使ったアプリを Google App Engine にアップすると正常に動作する。
けれども、
$ APPENGINE_HOME/bin/dev_appserver.sh deploy
のようにローカル実行すると、 Permission エラーが発生する。
groovy.util.ScriptException: Could not parse scriptName: /executor.groovy
java.lang.RuntimeException: groovy.util.ScriptException: Could not parse scriptName: /executor.groovy
at groovy.servlet.GroovyServlet$1.call(GroovyServlet.java:123)
at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:92)
at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.access$200(GroovyCategorySupport.java:60)
at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:202)
at groovy.servlet.GroovyServlet.service(GroovyServlet.java:128)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
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.jav
a:306)
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.content(HttpConnection.java:844)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
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)
Caused by: groovy.util.ScriptException: Could not parse scriptName: /executor.groovy
at groovy.util.GroovyScriptEngine.updateCacheEntry(GroovyScriptEngine.java:335)
at groovy.util.GroovyScriptEngine.createScript(GroovyScriptEngine.java:415)
at groovy.util.GroovyScriptEngine.run(GroovyScriptEngine.java:402)
at groovy.servlet.GroovyServlet$1.call(GroovyServlet.java:119)
... 26 more
Caused by: java.security.AccessControlException: access denied (groovy.security.GroovyCodeSourcePermission /groovy/script)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:76)
at groovy.lang.GroovyCodeSource.<init>(GroovyCodeSource.java:79)
at groovy.lang.GroovyClassLoader$2.run(GroovyClassLoader.java:241)
at java.security.AccessController.doPrivileged(Native Method)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:239)
at groovy.util.GroovyScriptEngine.updateCacheEntry(GroovyScriptEngine.java:333)
... 29 more
原因わからず。
policyファイル触ったりしないといけないのかな?他の方の環境では問題が起きていないのだろうか?
ディスカッション
コメント一覧
私のところでもでてます。known issueのようです。
http://blog.springsource.com/2009/04/07/write-your-google-app-engine-applications-in-groovy/
のコメント欄とか
http://code.google.com/p/googleappengine/issues/detail?id=1219
とか。
ちょっと調べましたが現状ちゃんとした解決策はないみたいですね。。
>kskyさん
ありがとうございます。
やっぱりほかのかたの環境でもでるのですね。
調べた内容を掲載までしていただいてありがとうございます。
当面は我慢ですね。
私のところでもでていたのですが、
Libの下のgroovy-all-1.5.7.jarにビルドパスを追加したらうまくいきました
(Eclipseを使っての話ですが)
ちなみに、 kskyさんのコメントにある
http://code.google.com/p/googleappengin/issues/detail?id=1219
のcomment11を参考にしました。
kskyさん、ありがとうございます〜
>TAIJIさん
ありがとうございます。
kskyさん、ご自分で解決されたのですね。