Groovy の Groovlet を使ったアプリを Google App Engine にアップすると正常に動作する。
けれども、
1
| $ APPENGINE_HOME/bin/dev_appserver.sh deploy
|
のようにローカル実行すると、 Permission エラーが発生する。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| 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ファイル触ったりしないといけないのかな?他の方の環境では問題が起きていないのだろうか?