Your problem is because the jetty classes have been re-packaged under  
com.goolgle.gwt.thirdparty etc but somewhere there's some reflection  
code try to instantiate a jetty class using it's org.mortbay name. The  
class name must be coming from a string or text file which  
unfortunately did not also get changed during the repackaging process.  
The easy fix is to search the java + other text files under  
com.google.gwt.thirdparty...jetty and correct the classname reference.  
Your solution of manually including a jetty jar won't work because the  
repackaged jetty code will immediately try and cast the reflected new  
instance to a com.google.gwt...jetty named class which of course fails.

The reason foe the repackaging is of course to allow users to use  
whatever jetty they want and have gwt work with it's own known version  
of jetty. Because in both cases the classes have different names there  
are no class path clashes. I believe the tool gwt uses to pakckage is  
called jarjar...

Mp

On 21/01/2009, at 11:16 AM, Sam <sami.ja...@gmail.com> wrote:

>
> Got the same problem, the project skeleton created by WebAppCreator
> failed to execute....
> Seems to be a CL issue
>
> Any idea ?
> conf -> Windows XP r4505
>
> Sami
>
> 2009-01-21 01:13:39.299::INFO:  Logging to STDERR via
> com.google.gwt.thirdparty.org.mortbay.log.StdErrLog
> 2009-01-21 01:13:39.339::INFO:  jetty-6.1.x
> 2009-01-21 01:13:39.459::INFO:  NO JSP Support for /, did not find
> org.apache.jasper.servlet.JspServlet
> 2009-01-21 01:13:39.639::WARN:  EXCEPTION
> java.lang.ClassNotFoundException:
> org.mortbay.jetty.servlet.DefaultServlet
>    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>    at
> com. 
> google. 
> gwt.thirdparty.org.mortbay.jetty.webapp.WebAppClassLoader.loadClass
> (WebAppClassLoader.java:375)
>    at
> com. 
> google. 
> gwt.thirdparty.org.mortbay.jetty.webapp.WebAppClassLoader.loadClass
> (WebAppClassLoader.java:337)
>    at com.google.gwt.thirdparty.org.mortbay.util.Loader.loadClass
> (Loader.java:91)
>    at com.google.gwt.thirdparty.org.mortbay.util.Loader.loadClass
> (Loader.java:71)
>    at  
> com.google.gwt.thirdparty.org.mortbay.jetty.servlet.Holder.doStart
> (Holder.java:73)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.servlet.ServletHolder.doStart
> (ServletHolder.java:233)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:39)
>    at
> com. 
> google. 
> gwt.thirdparty.org.mortbay.jetty.servlet.ServletHandler.initialize
> (ServletHandler.java:616)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.servlet.Context.startContext
> (Context.java:140)
>    at
> com. 
> google. 
> gwt.thirdparty.org.mortbay.jetty.webapp.WebAppContext.startContext
> (WebAppContext.java:1220)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.handler.ContextHandler.doStart
> (ContextHandler.java:513)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.webapp.WebAppContext.doStart
> (WebAppContext.java:448)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:39)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.handler.HandlerWrapper.doStart
> (HandlerWrapper.java:130)
>    at com.google.gwt.thirdparty.org.mortbay.jetty.Server.doStart
> (Server.java:222)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:39)
>    at com.google.gwt.dev.shell.jetty.JettyLauncher.start
> (JettyLauncher.java:231)
>    at com.google.gwt.dev.HostedMode.doStartUpServer(HostedMode.java: 
> 359)
>    at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java: 
> 580)
>    at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:403)
>    at com.google.gwt.dev.HostedMode.main(HostedMode.java:231)
> 2009-01-21 01:13:39.759::WARN:  failed default
> javax.servlet.UnavailableException:
> org.mortbay.jetty.servlet.DefaultServlet
>    at  
> com.google.gwt.thirdparty.org.mortbay.jetty.servlet.Holder.doStart
> (Holder.java:79)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.servlet.ServletHolder.doStart
> (ServletHolder.java:233)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:39)
>    at
> com. 
> google. 
> gwt.thirdparty.org.mortbay.jetty.servlet.ServletHandler.initialize
> (ServletHandler.java:616)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.servlet.Context.startContext
> (Context.java:140)
>    at
> com. 
> google. 
> gwt.thirdparty.org.mortbay.jetty.webapp.WebAppContext.startContext
> (WebAppContext.java:1220)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.handler.ContextHandler.doStart
> (ContextHandler.java:513)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.webapp.WebAppContext.doStart
> (WebAppContext.java:448)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:39)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.handler.HandlerWrapper.doStart
> (HandlerWrapper.java:130)
>    at com.google.gwt.thirdparty.org.mortbay.jetty.Server.doStart
> (Server.java:222)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:39)
>    at com.google.gwt.dev.shell.jetty.JettyLauncher.start
> (JettyLauncher.java:231)
>    at com.google.gwt.dev.HostedMode.doStartUpServer(HostedMode.java: 
> 359)
>    at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java: 
> 580)
>    at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:403)
>    at com.google.gwt.dev.HostedMode.main(HostedMode.java:231)
> 2009-01-21 01:13:39.759::WARN:  Failed startup of context
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.webapp.webappcont...@b69c85
> {/,C:\Documents and Settings\sami\workspace\ModuleXX\war}
> javax.servlet.UnavailableException:
> org.mortbay.jetty.servlet.DefaultServlet
>    at  
> com.google.gwt.thirdparty.org.mortbay.jetty.servlet.Holder.doStart
> (Holder.java:79)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.servlet.ServletHolder.doStart
> (ServletHolder.java:233)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:39)
>    at
> com. 
> google. 
> gwt.thirdparty.org.mortbay.jetty.servlet.ServletHandler.initialize
> (ServletHandler.java:616)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.servlet.Context.startContext
> (Context.java:140)
>    at
> com. 
> google. 
> gwt.thirdparty.org.mortbay.jetty.webapp.WebAppContext.startContext
> (WebAppContext.java:1220)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.handler.ContextHandler.doStart
> (ContextHandler.java:513)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.webapp.WebAppContext.doStart
> (WebAppContext.java:448)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:39)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.jetty.handler.HandlerWrapper.doStart
> (HandlerWrapper.java:130)
>    at com.google.gwt.thirdparty.org.mortbay.jetty.Server.doStart
> (Server.java:222)
>    at
> com. 
> google.gwt.thirdparty.org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:39)
>    at com.google.gwt.dev.shell.jetty.JettyLauncher.start
> (JettyLauncher.java:231)
>    at com.google.gwt.dev.HostedMode.doStartUpServer(HostedMode.java: 
> 359)
>    at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java: 
> 580)
>    at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:403)
>    at com.google.gwt.dev.HostedMode.main(HostedMode.java:231)
> 2009-01-21 01:13:39.799::INFO:  Started
> selectchannelconnec...@0.0.0.0:8888
>
>
> On 19 jan, 05:55, "Jeff J." <jsjenkins...@gmail.com> wrote:
>> I seem to be having an issue launching the hosted mode browser on any
>> project (tried creating new ones via webAppCreator) after this
>> revision. Seems like after this revision a new dependency is needed
>> which I cannot find. Any suggestions?
>>
>> Excerpt of exception I get is below:
>>
>> 2009-01-18 22:39:08.631::WARN:  Failed startup of context
>> com. 
>> google.gwt.thirdparty.org.mortbay.jetty.webapp.webappcont...@1a565c6
>> {/,C:\gwt\trunk\build\staging\gwt-windows-0.0.0\Test2\war}
>> javax.servlet.UnavailableException:
>> org.mortbay.jetty.servlet.DefaultServlet
>>
>> Adding jetty-6.1.11.jar to the classpath to get the missing class
>> org.mortbay.jetty.servlet.DefaultServlet doesnt work, I then get
>> ClassCastExceptions due to conflicts with classes in
>> com.google.gwt.thirdparty
>>
>> Thanks,
>> Jeff
>>
>> On Jan 9, 11:22 am, codesite-nore...@google.com wrote:> Author:  
>> sp...@google.com
>>> Date: Fri Jan  9 06:26:46 2009
>>> New Revision: 4419
>>
>>> Modified:
>>>     trunk/common.ant.xml
>>>     trunk/dev/common.ant.xml
>>
>>> Log:
>>> Run jarjar on gwt-dev-platform.jar, for all three platforms, so that
>>> a large number of internal dependencies are renamed to go under
>>> com.google.gwt.thirdparty.
>>
>>> Review by: fabbott
>>
>>> Modified: trunk/common.ant.xml
>>> === 
>>> === 
>>> === 
>>> ==================================================================  
>>> ===
>>> --- trunk/common.ant.xml        (original)
>>> +++ trunk/common.ant.xml        Fri Jan  9 06:26:46 2009
>>> @@ -39,6 +39,7 @@
>>>     <property name="gwt.build.dist" location="${gwt.build}/dist" />
>>>     <property name="project.build"
>>> location="${gwt.build.out}/${project.tail}" />
>>>     <property name="project.lib"
>>> location="${gwt.build.lib}/gwt-${ant.project.name}.jar" />
>>> +  <property name="project.lib.raw"
>>> location="${gwt.build.lib}/gwt-${ant.project.name}-raw.jar" />
>>>     <property name="project.jni" location="${gwt.build}/$ 
>>> {project.tail}" />
>>>     <property name="javac.out" location="${project.build}/bin" />
>>>     <property name="javac.junit.out" location="${project.build}/ 
>>> bin-test" />
>>
>>> Modified: trunk/dev/common.ant.xml
>>> === 
>>> === 
>>> === 
>>> ==================================================================  
>>> ===
>>> --- trunk/dev/common.ant.xml    (original)
>>> +++ trunk/dev/common.ant.xml    Fri Jan  9 06:26:46 2009
>>> @@ -4,6 +4,9 @@
>>
>>>     <property.ensure name="gwt.core.root" location="../core" />
>>>     <property.ensure name="gwt.core.build"
>>> location="${project.build}/../core" />
>>> +
>>> +  <taskdef name="jarjar"
>>> +       classname="com.tonicsystems.jarjar.JarJarTask"
>>> classpath="${gwt.tools.lib}/tonicsystems/jarjar-1.0rc8.jar"/>
>>
>>>     <target name="compile" description="Compile all java files">
>>>       <mkdir dir="${javac.out}" />
>>> @@ -18,7 +21,8 @@
>>
>>>     <target name="build" depends="compile" description="Build and  
>>> package
>>> this project">
>>>       <mkdir dir="${gwt.build.lib}" />
>>> -    <gwt.jar>
>>> +    <!-- Use jar instead of gwt.jar here because gwt.jar fixes the
>>> destfile -->
>>> +    <jar destfile="${project.lib.raw}" update="true"  
>>> duplicate="preserve"
>>> index="true" >
>>>         <fileset dir="src" excludes="**/package.html"/>
>>>         <fileset dir="${gwt.core.root}/src">
>>>           <exclude name="**/package.html"/>
>>> @@ -32,12 +36,40 @@
>>>         <manifest>
>>>           <attribute name="Main-Class"  
>>> value="com.google.gwt.dev.GWTMain" />
>>>         </manifest>
>>> -    </gwt.jar>
>>> +    </jar>
>>> +
>>> +    <outofdate>
>>> +      <sourcefiles>
>>> +        <fileset file="${project.lib.raw}" />
>>> +      </sourcefiles>
>>> +      <targetfiles path="${project.lib}" />
>>> +      <sequential>
>>> +        <jarjar destfile="${project.lib}">
>>> +          <zipfileset src="${project.lib.raw}" />
>>> +          <!-- Don't rename these packages, because they are  
>>> actually
>>> supplied by external jars -->
>>> +          <rule pattern="org.xml.**" result="@0" />
>>> +          <rule pattern="org.w3c.**" result="@0" />
>>> +          <rule pattern="org.omg.**" result="@0" />
>>> +          <rule pattern="org.ietf.**" result="@0" />
>>> +
>>> +          <!-- Don't rename SWT, because it includes native  
>>> methods -->
>>> +          <rule pattern="org.eclipse.swt.**" result="@0" />
>>> +
>>> +          <!-- Don't rename tapestry, because it ends up broken.   
>>> The
>>> problem is
>>> +               that it computes class names throuh string  
>>> operations in a
>>> way that
>>> +               jarjar does not understand.  -->
>>> +          <rule pattern="org.apache.tapestry.**" result="@0" />
>>> +
>>> +          <!-- Put all other org.* packages under
>>> com.google.gwt.thirdparty -->
>>> +          <rule pattern="org.**"  
>>> result="com.google.gwt.thirdpar...@0" />
>>> +        </jarjar>
>>> +      </sequential>
>>> +    </outofdate>
>>>     </target>
>>
>>>     <target name="clean" description="Cleans this project's  
>>> intermediate and
>>> output files">
>>>       <delete dir="${project.build}" failonerror="false" />
>>> +    <delete file="${project.lib.raw}" failonerror="false" />
>>>       <delete file="${project.lib}" failonerror="false" />
>>>     </target>
>>> -
>>>   </project>
> >

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to