Uploaded image for project: 'TomEE'
  1. TomEE
  2. TOMEE-41

Overzealous class scanning

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.0.0-beta-2, 1.5.0
    • None
    • None
    • 1.0.0-beta-2-20111019.211229-11-plus

    Description

      Having and extension A which provides optional integration with an extension B, the deployment of an application that contains A but does not contain B seems to fail with CNFE even though the optional integration classes are not used by the application.

      What should actually happen is that the ClassNotFoundException should be suppressed by the deployer and the related beans should not be registered as CDI beans, instead of failing the entire deployment.

      INFO - Configuring enterprise application: /home/jharting/jboss/testing/TOMEE/apache-tomee-plus-1.0.0-beta-2-SNAPSHOT/webapps/faces-shortly
      java.lang.NoClassDefFoundError: Lorg/jboss/seam/security/Identity;
      at java.lang.Class.getDeclaredFields0(Native Method)
      at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
      at java.lang.Class.getDeclaredFields(Class.java:1743)
      at org.apache.xbean.finder.AnnotationFinder.findAnnotatedFields(AnnotationFinder.java:638)
      at org.apache.openejb.config.rules.CheckInjectionPointUsage.validate(CheckInjectionPointUsage.java:35)
      at org.apache.openejb.config.rules.ValidationBase.validate(ValidationBase.java:45)
      at org.apache.openejb.config.AppValidator.validate(AppValidator.java:88)
      at org.apache.openejb.config.ValidateModules.deploy(ValidateModules.java:29)
      at org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:263)
      at org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:692)
      at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:448)
      at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:405)
      at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:117)
      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
      at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607)
      at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:932)
      at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:723)
      at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
      at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1329)
      at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
      at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
      at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389)
      at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:334)
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1041)
      at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
      at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)
      at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)
      at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:621)
      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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
      Caused by: java.lang.ClassNotFoundException: org.jboss.seam.security.Identity
      at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:98)
      at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:65)
      ... 46 more

      Attachments

        1. faces-shortly.war
          1.74 MB
          Jozef Hartinger

        Activity

          People

            Unassigned Unassigned
            jharting Jozef Hartinger
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: