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

Weld fails to start in Modular Java SE if Servlet APIs are referenced from application classes, but Servlet APIs are not made available to weld

    XMLWordPrintable

Details

    • Hide

      1. Check out https://github.com/lincolnthree/forge/tree/2.0 (Branch 2.0)
      2. Run mvn clean install -DskipTests
      3. Install the distribution zip file: dist/target/forge-distribution-2.0.0-SNAPSHOT.zip into $FORGE_HOME (instructions on http://jboss.org/forge)
      4. Re run the build with "mvn clean install" - tests will fail because of this issue.

      Show
      1. Check out https://github.com/lincolnthree/forge/tree/2.0 (Branch 2.0) 2. Run mvn clean install -DskipTests 3. Install the distribution zip file: dist/target/forge-distribution-2.0.0-SNAPSHOT.zip into $FORGE_HOME (instructions on http://jboss.org/forge ) 4. Re run the build with "mvn clean install" - tests will fail because of this issue.

    Description

      Weld attepmpts to perform type hierarchy discovery on its own interface "org.jboss.weld.context.http.HttpSessionContext" and fails to load the type below.

      The workaround is to add a Serlvet API module dependency to Weld, but this is not the right solution - weld should not be trying to start any Servlet classes unless asked to.

      Sep 11, 2012 2:08:23 AM org.jboss.weld.bootstrap.WeldBootstrap startContainer
      INFO: WELD-000101 Transactional services not available. Injection of @Inject UserTransaction not available. Transactional observers will be invoked synchronously.
      Exception in thread "main" org.jboss.forge.container.exception.ContainerException: Failed loading module for addon [6f691f33-b67a-42e6-8a72-3e45662789bb.war:2.0.0-SNAPSHOT:main]
      	at org.jboss.forge.container.Bootstrap.loadAddonModules(Bootstrap.java:184)
      	at org.jboss.forge.container.Bootstrap.updateAddons(Bootstrap.java:82)
      	at org.jboss.forge.container.Bootstrap.init(Bootstrap.java:56)
      	at org.jboss.forge.container.Bootstrap.main(Bootstrap.java:35)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.jboss.modules.Module.run(Module.java:270)
      	at org.jboss.modules.Main.main(Main.java:294)
      Caused by: org.jboss.modules.ModuleNotFoundException: Module 6f691f33-b67a-42e6-8a72-3e45662789bb.war:main is not found in local module loader @25071521 (roots: /Users/lbaxter/dev/forge/modules,/Users/lbaxter/.forge/plugins,/Users/lbaxter/Projects/jboss/forge/core)
      	at org.jboss.modules.LocalModuleLoader.findModule(LocalModuleLoader.java:126)
      	at org.jboss.modules.ModuleLoader.loadModuleLocal(ModuleLoader.java:275)
      	at org.jboss.modules.ModuleLoader.preloadModule(ModuleLoader.java:222)
      	at org.jboss.modules.LocalModuleLoader.preloadModule(LocalModuleLoader.java:94)
      	at org.jboss.modules.ModuleLoader.preloadExportedModule(ModuleLoader.java:233)
      	at org.jboss.modules.ModuleLoader.preloadModule(ModuleLoader.java:246)
      	at org.jboss.forge.container.modules.AddonModuleLoader.preloadModule(AddonModuleLoader.java:56)
      	at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:204)
      	at org.jboss.forge.container.Bootstrap.loadAddonModules(Bootstrap.java:179)
      	... 9 more
      Exception in thread "6f691f33-b67a-42e6-8a72-3e45662789bb.war:main" org.jboss.forge.container.exception.ContainerException: [Thread - 6f691f33-b67a-42e6-8a72-3e45662789bb.war:main] Error invoking Task within ClassLoader [ModuleClassLoader for Module "6f691f33-b67a-42e6-8a72-3e45662789bb.war:main" from AddonModuleLoader]
      	at org.jboss.forge.container.util.ClassLoaders.executeIn(ClassLoaders.java:35)
      	at org.jboss.forge.container.AddonRunnable.run(AddonRunnable.java:37)
      	at java.lang.Thread.run(Thread.java:680)
      Caused by: java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present
      	at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:98)
      	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:107)
      	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
      	at sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:50)
      	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:120)
      	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
      	at sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:82)
      	at java.lang.Class.getGenericInterfaces(Class.java:794)
      	at org.jboss.weld.util.reflection.HierarchyDiscovery.discoverFromClass(HierarchyDiscovery.java:138)
      	at org.jboss.weld.util.reflection.HierarchyDiscovery.discoverTypes(HierarchyDiscovery.java:103)
      	at org.jboss.weld.util.reflection.HierarchyDiscovery.init(HierarchyDiscovery.java:74)
      	at org.jboss.weld.util.reflection.HierarchyDiscovery.getTypeClosure(HierarchyDiscovery.java:58)
      	at org.jboss.weld.bean.builtin.ContextBean.<init>(ContextBean.java:27)
      	at org.jboss.weld.bean.builtin.ContextBean.of(ContextBean.java:17)
      	at org.jboss.weld.bootstrap.WeldBootstrap.createContexts(WeldBootstrap.java:541)
      	at org.jboss.weld.bootstrap.WeldBootstrap.startContainer(WeldBootstrap.java:295)
      	at org.jboss.weld.bootstrap.api.helpers.ForwardingBootstrap.startContainer(ForwardingBootstrap.java:42)
      	at org.jboss.weld.environment.se.Weld.initialize(Weld.java:129)
      	at org.jboss.forge.container.AddonRunnable$1.perform(AddonRunnable.java:43)
      	at org.jboss.forge.container.util.ClassLoaders.executeIn(ClassLoaders.java:31)
      	... 2 more
      Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest from [Module "org.jboss.weld:main" from local module loader @25071521 (roots: /Users/lbaxter/dev/forge/modules,/Users/lbaxter/.forge/plugins,/Users/lbaxter/Projects/jboss/forge/core)]
      	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
      	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
      	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
      	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)
      	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
      	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:247)
      	at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:95)
      	... 21 more
      
      

      Attachments

        Activity

          People

            rhn-engineering-jharting Jozef Hartinger
            lincolnthree Lincoln Baxter III (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: