Links seems to be broken :-(
And is there any manual how to build click jar from sources?

Mykhaylo

2010/2/2 Bob Schellink <[email protected]>

> Hi Mykhaylo,
>
> Indeed, RC1 doesn't work on GAE, but the current trunk does. There are some
> new classes to make Click work on GAE. See this package:
>
>
> http://svn.apache.org/viewvc/incubator/click/trunk/click/extras/src/org/apache/click/extras/gae/
>
> More details can be found in the JavaDoc of the following class:
>
>
> http://svn.apache.org/viewvc/incubator/click/trunk/click/extras/src/org/apache/click/extras/gae/GoogleAppEngineListener.java?view=markup
>
> Hope this helps.
>
> kind regards
>
> bob
>
>
> On 3/02/2010 07:14 AM, Mykhaylo Kotsur wrote:
>
>> Hi!
>>
>> I failed to run Apache Click on Google appengine. When starting GAE
>> appserver I get:
>>
>> runserver:
>>      [java] java.lang.NoClassDefFoundError: java.io.FileOutputStream is
>> a restricted class. Please see the Google  App Engine developer's guide
>> for more details.
>>      [java]     at
>>
>> com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51)
>>      [java]     at
>> org.apache.click.util.ClickUtils.deployFile(ClickUtils.java:1242)
>>      [java]     at
>> org.apache.click.util.ClickUtils.deployFiles(ClickUtils.java:1305)
>>      [java]     at
>>
>> org.apache.click.service.XmlConfigService.deployFiles(XmlConfigService.java:1129)
>>      [java]     at
>>
>> org.apache.click.service.XmlConfigService.onInit(XmlConfigService.java:229)
>>      [java]     at
>> org.apache.click.ClickServlet.initConfigService(ClickServlet.java:1587)
>>      [java]     at
>> org.apache.click.ClickServlet.init(ClickServlet.java:183)
>>      [java]     at
>> javax.servlet.GenericServlet.init(GenericServlet.java:215)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
>>      [java]     at
>> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:612)
>>      [java]     at
>> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>>      [java]     at
>>
>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
>>      [java]     at
>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
>>      [java]     at
>> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at org.mortbay.jetty.Server.doStart(Server.java:217)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:188)
>>      [java]     at
>>
>> com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:120)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162)
>>      [java]     at
>>
>> com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
>>      [java] Feb 2, 2010 7:31:44 PM
>> com.google.appengine.tools.development.ApiProxyLocalImpl log
>>      [java] SEVERE: [1265139104791000] javax.servlet.ServletContext
>> log: ClickServlet: error while initializing Click servlet; throwing
>> javax.servlet.UnavailableException
>>      [java] java.lang.NoClassDefFoundError: java.io.FileOutputStream is
>> a restricted class. Please see the Google  App Engine developer's guide
>> for more details.
>>      [java]     at
>>
>> com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51)
>>      [java]     at
>> org.apache.click.util.ClickUtils.deployFile(ClickUtils.java:1242)
>>      [java]     at
>> org.apache.click.util.ClickUtils.deployFiles(ClickUtils.java:1305)
>>      [java]     at
>>
>> org.apache.click.service.XmlConfigService.deployFiles(XmlConfigService.java:1129)
>>      [java]     at
>>
>> org.apache.click.service.XmlConfigService.onInit(XmlConfigService.java:229)
>>      [java]     at
>> org.apache.click.ClickServlet.initConfigService(ClickServlet.java:1587)
>>      [java]     at
>> org.apache.click.ClickServlet.init(ClickServlet.java:183)
>>      [java]     at
>> javax.servlet.GenericServlet.init(GenericServlet.java:215)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
>>      [java]     at
>> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:612)
>>      [java]     at
>> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>>      [java]     at
>>
>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
>>      [java]     at
>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
>>      [java]     at
>> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at org.mortbay.jetty.Server.doStart(Server.java:217)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:188)
>>      [java]     at
>>
>> com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:120)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162)
>>      [java]     at
>>
>> com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
>>      [java]
>>      [java] Feb 2, 2010 7:31:44 PM
>> com.google.apphosting.utils.jetty.JettyLogger warn
>>      [java] WARNING: failed ClickServlet
>>      [java] javax.servlet.ServletException:
>> javax.servlet.UnavailableException: java.lang.NoClassDefFoundError:
>> java.io.FileOutputStream is a restricted class. Please see the Google
>> App Engine developer's guide for more details.
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:437)
>>      [java]     at
>> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:612)
>>      [java]     at
>> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>>      [java]     at
>>
>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
>>      [java]     at
>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
>>      [java]     at
>> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at org.mortbay.jetty.Server.doStart(Server.java:217)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:188)
>>      [java]     at
>>
>> com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:120)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162)
>>      [java]     at
>>
>> com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
>>      [java] Caused by: javax.servlet.UnavailableException:
>> java.lang.NoClassDefFoundError: java.io.FileOutputStream is a restricted
>> class. Please see the Google  App Engine developer's guide for more
>> details.
>>      [java]     at
>> org.apache.click.ClickServlet.init(ClickServlet.java:205)
>>      [java]     at
>> javax.servlet.GenericServlet.init(GenericServlet.java:215)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
>>      [java]     ... 20 more
>>      [java] Feb 2, 2010 7:31:44 PM
>> com.google.apphosting.utils.jetty.JettyLogger warn
>>      [java] WARNING: Nested in javax.servlet.ServletException:
>> javax.servlet.UnavailableException: java.lang.NoClassDefFoundError:
>> java.io.FileOutputStream is a restricted class. Please see the Google
>> App Engine developer's guide for more details.:
>>      [java] javax.servlet.UnavailableException:
>> java.lang.NoClassDefFoundError: java.io.FileOutputStream is a restricted
>> class. Please see the Google  App Engine developer's guide for more
>> details.
>>      [java]     at
>> org.apache.click.ClickServlet.init(ClickServlet.java:205)
>>      [java]     at
>> javax.servlet.GenericServlet.init(GenericServlet.java:215)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
>>      [java]     at
>> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:612)
>>      [java]     at
>> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>>      [java]     at
>>
>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
>>      [java]     at
>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
>>      [java]     at
>> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at org.mortbay.jetty.Server.doStart(Server.java:217)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:188)
>>      [java]     at
>>
>> com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:120)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162)
>>      [java]     at
>>
>> com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
>>      [java] Feb 2, 2010 7:31:44 PM
>> com.google.apphosting.utils.jetty.JettyLogger warn
>>      [java] WARNING: Failed startup of context
>> com.google.apphosting.utils.jetty.devappenginewebappcont...@ce2187
>> {/,/home/mkotsur/IdeaProjects/rssgrep/war}
>>      [java] javax.servlet.ServletException:
>> javax.servlet.UnavailableException: java.lang.NoClassDefFoundError:
>> java.io.FileOutputStream is a restricted class. Please see the Google
>> App Engine developer's guide for more details.
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:437)
>>      [java]     at
>> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:612)
>>      [java]     at
>> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>>      [java]     at
>>
>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
>>      [java]     at
>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
>>      [java]     at
>> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at org.mortbay.jetty.Server.doStart(Server.java:217)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:188)
>>      [java]     at
>>
>> com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:120)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162)
>>      [java]     at
>>
>> com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
>>      [java] Caused by: javax.servlet.UnavailableException:
>> java.lang.NoClassDefFoundError: java.io.FileOutputStream is a restricted
>> class. Please see the Google  App Engine developer's guide for more
>> details.
>>      [java]     at
>> org.apache.click.ClickServlet.init(ClickServlet.java:205)
>>      [java]     at
>> javax.servlet.GenericServlet.init(GenericServlet.java:215)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
>>      [java]     ... 20 more
>>      [java] Feb 2, 2010 7:31:44 PM
>> com.google.apphosting.utils.jetty.JettyLogger warn
>>      [java] WARNING: Nested in javax.servlet.ServletException:
>> javax.servlet.UnavailableException: java.lang.NoClassDefFoundError:
>> java.io.FileOutputStream is a restricted class. Please see the Google
>> App Engine developer's guide for more details.:
>>      [java] javax.servlet.UnavailableException:
>> java.lang.NoClassDefFoundError: java.io.FileOutputStream is a restricted
>> class. Please see the Google  App Engine developer's guide for more
>> details.
>>      [java]     at
>> org.apache.click.ClickServlet.init(ClickServlet.java:205)
>>      [java]     at
>> javax.servlet.GenericServlet.init(GenericServlet.java:215)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
>>      [java]     at
>> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:612)
>>      [java]     at
>> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>>      [java]     at
>>
>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
>>      [java]     at
>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
>>      [java]     at
>> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>>      [java]     at org.mortbay.jetty.Server.doStart(Server.java:217)
>>      [java]     at
>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>>      [java]     at
>>
>> com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:188)
>>      [java]     at
>>
>> com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:120)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162)
>>      [java]     at
>>
>> com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
>>      [java]     at
>>
>> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
>>      [java] The server is running at http://localhost:8080/
>>
>> Part of my web.xml:
>>
>> <servlet>
>> <servlet-name>ClickServlet</servlet-name>
>> <servlet-class>org.apache.click.ClickServlet</servlet-class>
>> <load-on-startup>0</load-on-startup>
>> </servlet>
>>
>> Version of click: 2.1.0 RC1
>>
>> Thanks in advance.
>>
>>
>

Reply via email to