Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-2635

Weld core doesn't properly detect Jetty server for GWT 2.8/2.9 test environment

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 3.1.5.Final
    • Fix Version/s: 3.1.6.Final, 3.1.5.SP1
    • Component/s: None
    • Labels:
      None
    • Steps to Reproduce:
      Hide

      Run

      git clone https://github.com/errai/errai.git
      cd errai
      git checkout -b mareknovotny-upgrade-for-eap73 master
      git pull https://github.com/mareknovotny/errai.git upgrade-for-eap73
      mvn install -DskipTests -Pintegration-test -pl errai-cdi/errai-cdi-server -am -DfailIfNoTests=false -Dit.test=AsyncCDIBeanManagerTest#testBeanManagerLookupForExtendedInterfaceType
      
      Show
      Run git clone https: //github.com/errai/errai.git cd errai git checkout -b mareknovotny-upgrade- for -eap73 master git pull https: //github.com/mareknovotny/errai.git upgrade- for -eap73 mvn install -DskipTests -Pintegration-test -pl errai-cdi/errai-cdi-server -am -DfailIfNoTests= false -Dit.test=AsyncCDIBeanManagerTest#testBeanManagerLookupForExtendedInterfaceType

      Description

      This issue is similar to WELD-1615, but for 3.1.x

      Running GWTTestCase junit testsuite (gwt 2.8.2) with Jetty 9.2.14.v20151106 will end with the error below, note that GWT 2.9.0 has the same embedded Jetty version for testing so it is the same.

       Jetty used `org.mortbay.jetty` package for verstions older than 9.x, from 9.x+ uses `org.eclipse.jetty` package and that error below is just pointing to mortbay instead of eclipse Jetty:

      INFO [servletJetty] WELD-ENV-001203: GWTHostedMode detected, JSR-299 injection will be available in Servlets and Filters. Injection into Listeners is not supported.
      WARN [AbstractLifeCycle] FAILED org.eclipse.jetty.annotations.ServletContainerInitializersStarter@61a91912: java.lang.NoClassDefFoundError: org/mortbay/jetty/servlet/ServletHandler
      java.lang.NoClassDefFoundError: org/mortbay/jetty/servlet/ServletHandler
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
      	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
      	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
      	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
      	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
      	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
      	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
      	at org.jboss.weld.environment.gwtdev.GwtDevHostedModeContainer.getWeldServletHandlerClass(GwtDevHostedModeContainer.java:46)
      	at org.jboss.weld.environment.gwtdev.GwtDevHostedModeContainer.initialize(GwtDevHostedModeContainer.java:55)
      	at org.jboss.weld.environment.servlet.WeldServletLifecycle.initialize(WeldServletLifecycle.java:214)
      	at org.jboss.weld.environment.servlet.EnhancedListener.onStartup(EnhancedListener.java:62)
      	at org.eclipse.jetty.plus.annotation.ContainerInitializer.callStartup(ContainerInitializer.java:140)
      	at org.eclipse.jetty.annotations.ServletContainerInitializersStarter.doStart(ServletContainerInitializersStarter.java:65)
      	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:274)
      	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
      	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
      	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
      	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
      	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
      	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
      	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
      	at org.eclipse.jetty.server.handler.RequestLogHandler.doStart(RequestLogHandler.java:140)
      	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
      	at org.eclipse.jetty.server.Server.start(Server.java:387)
      	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
      	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
      	at org.eclipse.jetty.server.Server.doStart(Server.java:354)
      	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      	at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:760)
      	at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:636)
      	at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:923)
      	at com.google.gwt.junit.JUnitShell.getUnitTestShell(JUnitShell.java:708)
      	at com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:682)
      	at com.google.gwt.junit.client.GWTTestCase.runTest(GWTTestCase.java:421)
      	at junit.framework.TestCase.runBare(TestCase.java:141)
      	at junit.framework.TestResult$1.protect(TestResult.java:122)
      	at junit.framework.TestResult.runProtected(TestResult.java:142)
      	at junit.framework.TestResult.run(TestResult.java:125)
      	at junit.framework.TestCase.run(TestCase.java:129)
      	at com.google.gwt.junit.client.GWTTestCase.run(GWTTestCase.java:247)
      	at junit.framework.TestSuite.runTest(TestSuite.java:252)
      	at junit.framework.TestSuite.run(TestSuite.java:247)
      	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
      	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:383)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:344)
      	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:125)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:417)
      Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.servlet.ServletHandler
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
      	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
      	... 59 more
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              manaRH Marek Novotny
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: