Announcing GWT 1.6 Release Candidate

1,266 views
Skip to first unread message

Bruce Johnson

unread,
Mar 18, 2009, 4:32:22 PM3/18/09
to GWTcontrib
Good news! Google Web Toolkit 1.6 RC is ready for you to download and try out:


For background on what's new in GWT 1.6, please see the still-in-progress doc:


as well as previous 1.6-related announcements:


and


For complete details, the GWT issue tracker has the full list of changes:


We expect this to be a short RC cycle, so a more comprehensive blog post with an overview of the features in GWT 1.6 should be just around the corner.

-- Bruce, on behalf of the GWT team

Alejandro D. Garin

unread,
Mar 22, 2009, 10:01:37 PM3/22/09
to Google-Web-Tool...@googlegroups.com
Hi,

I have problems creating a new project and then adding Spring 2.5 jar and setting up a context listener in web.xml like this:

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param> 
   
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

This configuration works OK with M2. Ideas? Thanks.

Hosted Mode messages:

[WARN] Server class 'org.apache.commons.collections.map.CaseInsensitiveMap' could not be found in the web app, but was found on the system classpath

[WARN] Adding classpath entry 'file:/F:/java/gwt-windows-1.6.2/gwt-dev-windows.jar' to the web app classpath for this session

[WARN] failed com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload@2c507f{/,F:\java\ganymede\TaskTimer\war}
java.lang.LinkageError: loader constraint violation: loader (instance of com/google/gwt/dev/shell/jetty/JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension) previously initiated loading for a different type with name "org/apache/commons/logging/Log"
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension.findClass(JettyLauncher.java:303)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at org.springframework.core.CollectionFactory.createConcurrentMapIfPossible(CollectionFactory.java:195)
    at org.springframework.web.context.ContextLoader.<clinit>(ContextLoader.java:153)
    at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:53)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:44)
    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
    at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:397)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:222)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:449)
    at com.google.gwt.dev.HostedMode.doStartUpServer(HostedMode.java:367)
    at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java:590)
    at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:397)
    at com.google.gwt.dev.HostedMode.main(HostedMode.java:232)


[WARN] failed RequestLogHandler@1e5da76
java.lang.LinkageError: loader constraint violation: loader (instance of com/google/gwt/dev/shell/jetty/JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension) previously initiated loading for a different type with name "org/apache/commons/logging/Log"
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension.findClass(JettyLauncher.java:303)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at org.springframework.core.CollectionFactory.createConcurrentMapIfPossible(CollectionFactory.java:195)
    at org.springframework.web.context.ContextLoader.<clinit>(ContextLoader.java:153)
    at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:53)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:44)
    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
    at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:397)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:222)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:449)
    at com.google.gwt.dev.HostedMode.doStartUpServer(HostedMode.java:367)
    at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java:590)
    at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:397)
    at com.google.gwt.dev.HostedMode.main(HostedMode.java:232)

[WARN] Error starting handlers
java.lang.LinkageError: loader constraint violation: loader (instance of com/google/gwt/dev/shell/jetty/JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension) previously initiated loading for a different type with name "org/apache/commons/logging/Log"
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension.findClass(JettyLauncher.java:303)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at org.springframework.core.CollectionFactory.createConcurrentMapIfPossible(CollectionFactory.java:195)
    at org.springframework.web.context.ContextLoader.<clinit>(ContextLoader.java:153)
    at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:53)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:44)
    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
    at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:397)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:222)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:449)
    at com.google.gwt.dev.HostedMode.doStartUpServer(HostedMode.java:367)
    at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java:590)
    at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:397)
    at com.google.gwt.dev.HostedMode.main(HostedMode.java:232)

Bruce Johnson

unread,
Mar 23, 2009, 8:03:38 PM3/23/09
to Google-Web-Tool...@googlegroups.com
Are the spring jar and its dependencies in your WEB-INF/lib folder? We did introduce an extra "convenience mode" recently, hence the message

[WARN] Server class 'org.apache.commons.
collections.map.CaseInsensitiveMap' could not be found in the web app, but was found on the system classpath

which makes me think it's related to that new functionality.  (Of course, either way, this looks like it could be a bug in the new "helpful" class loading logic.)

-- Bruce

Alejandro D. Garin

unread,
Mar 23, 2009, 9:09:48 PM3/23/09
to Google-Web-Tool...@googlegroups.com
Are the spring jar and its dependencies in your WEB-INF/lib folder? We did introduce an extra "convenience mode" recently, hence the message

Hi Bruce,

Yes, the spring.jar is in the lib folder, no other dependences needed.
If you want I can send to you a little demo project based on the webAppCreator default example plus an Spring bean loaded in the server. The demo project work fine in 1.6.1

Thanks. 

Scott Blum

unread,
Mar 23, 2009, 11:57:42 PM3/23/09
to Google-Web-Tool...@googlegroups.com
Hey, can you guys do me a favor and try out a fix?

Just take the attached jar and put it on your classpath ahead of gwt-dev-<platform>.jar.  See if it fixes the "not and instance of Servlet" problem (and doesn't cause other problems).

Lemme know if that works, thanks,
Scott
gwt-dev-patch.jar

Alejandro D. Garin

unread,
Mar 24, 2009, 7:41:38 AM3/24/09
to Google-Web-Tool...@googlegroups.com
Hi Scott,

Yes, this fixes the problem for my configuration, the spring container started now :)
Thanks.

Vitali Lovich

unread,
Mar 24, 2009, 1:20:47 PM3/24/09
to Google-Web-Tool...@googlegroups.com
I just tried the patch with trunk (5072) & got
java.lang.NullPointerException
    at sun.misc.MetaIndex.mayContain(MetaIndex.java:243)
    at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:761)
    at sun.misc.URLClassPath.getResource(URLClassPath.java:185)
    at sun.misc.URLClassPath.getResource(URLClassPath.java:237)
    at java.lang.ClassLoader.getBootstrapResource(ClassLoader.java:1130)
    at java.lang.ClassLoader.getResource(ClassLoader.java:991)
    at java.lang.ClassLoader.getResource(ClassLoader.java:989)
    at com.google.gwt.dev.OophmHostedModeBase.loadImageIcon(OophmHostedModeBase.java:293)
    at com.google.gwt.dev.HostedMode.getWebServerIcon(HostedMode.java:431)
    at com.google.gwt.dev.OophmHostedModeBase.openAppWindow(OophmHostedModeBase.java:495)
    at com.google.gwt.dev.HostedModeBase.doStartup(HostedModeBase.java:493)
    at com.google.gwt.dev.OophmHostedModeBase.doStartup(OophmHostedModeBase.java:420)
    at com.google.gwt.dev.HostedMode.doStartup(HostedMode.java:363)
    at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java:609)
    at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:402)
    at com.google.gwt.dev.HostedMode.main(HostedMode.java:264)

on trying to launch OOPHM in HostedMode.  Is this patch compatible?  I'm trying to fix the issue with the log4j that I'm getting:

log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
log4j:ERROR [sun.misc.Launcher$AppClassLoader@64601bb1] whereas object of type
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [ContextLoader@null].
log4j:ERROR Could not instantiate appender named "O".

I think there's some interference going on due to me launching HostedMode.

Scott Blum

unread,
Mar 24, 2009, 1:40:27 PM3/24/09
to Google-Web-Tool...@googlegroups.com, John Tamplin
The jar file I sent is NOT compatible with trunk.  You would need to patch the source using the patch from issue #3496 and rebuild.
Reply all
Reply to author
Forward
0 new messages