In short: How to I configure my GWT 2.6.0-rc* webapp launch in Eclipse and
process webapp context settings for Jetty?
I'm giving GWT 2.6.0-rc3 a trial run using Maven and SuperDevMode. I launch
the code server in a console with "mvn clean generate-sources
gwt:run-codeserver" and launch my webapp from Eclipse.
With GWT 2.5.1, I created src/main/webapp/WEB-INF/jetty-web.xml such as
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure 1.2//EN"
"http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
<Set name="initParams">
<New class="java.util.HashMap">
<Put name="app.tmpdir">/Users/thad/temp</Put>
<Put name="cleanup.interval">86400</Put>
<Put name="slf4j-init-file">/Users/thad/temp/slf4j.properties</Put>
</New>
</Set>
</Configure>
/Users/thad/temp/slf4j.properties declares
"log4j.appender.MYAPP.File=/Users/thad/temp/mobile-slf4j.log" so I don't
have to go chasing my log fill around my Mac's /var/folders directory.
This all works great with GWT 2.5.1 (as it did on an earlier project with
GWT 2.5.1 using Ant and DevMode). And all this without any Jetty dependency
in my pom.xml
However when I try GWT 2.6.0-rc3 (and GWT 2.6.0-rc1) a try, launching my
webapp in Eclipse I get various errors in my console. Jetty does not read
jetty-web.xml and my log file is no where to be found.
With the jetty-web.xml above, I get
[WARN] Server resource 'org/eclipse/jetty/xml/configure_6_0.dtd' could not
be found in the web app, but was found on the system classpath
[WARN] Adding classpath entry 'file:/opt/gwt-2.6.0-rc3/gwt-dev.jar' to
the web app classpath for this session
For additional info see:
file:/opt/gwt-2.6.0-rc3/doc/helpInfo/webAppClassPath.html
Starting Jetty on port 8888
[WARN] Unable to process jetty-web.xml
java.lang.ClassNotFoundException: org.mortbay.jetty.webapp.WebAppContext
at java.lang.ClassLoader.findClass(ClassLoader.java:531)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:407)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:100)
....
BTW, I see no such [WARN] on gwt-dev.jar with GWT 2.5.1 (gwt-dev is "<scope>
provided</scope>" in my pom.xml).
On a hunch, I tried changing <Configure
class="org.mortbay.jetty.webapp.WebAppContext"> to <Configure
class="org.eclipse.jetty.webapp.WebAppContext"> but that gives the error
below and the app fails to start:
[WARN] Server resource 'org/eclipse/jetty/xml/configure_7_6.dtd' could not
be found in the web app, but was found on the system classpath
[WARN] Adding classpath entry 'file:/opt/gwt-2.6.0-rc3/gwt-dev.jar' to
the web app classpath for this session
For additional info see:
file:/opt/gwt-2.6.0-rc3/doc/helpInfo/webAppClassPath.html
Starting Jetty on port 8888
[WARN] Failed startup of context
c.g.g.d.s.j.WebAppContextWithReload{/,file:/Users/thad/workspace/Mobile/target/Mobile-1.0-SNAPSHOT/},/Users/thad/workspace/Mobile/target/Mobile-1.0-SNAPSHOT
java.lang.IllegalArgumentException: Object of class
'com.google.gwt.dev.shell.jetty.JettyLauncher.WebAppContextWithReload' is
not of type 'org.eclipse.jetty.webapp.WebAppContext'. Object Class and type
Class are from different loaders.
at
org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:323)
at
org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:281)
at
org.eclipse.jetty.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:103)
at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:468)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1237)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
...
What's the magic?
Is this in any way related
to https://groups.google.com/d/topic/google-web-toolkit/jikekBQr5O8/discussion
?
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.