Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-12295

Deployments fails if de.odysseus.juel is included in the war

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • JSF
    • Hide

      Deploy [^reproduce.war] that deployment will fail. The war file contains the following dependencies in pon.xml:

      <dependencies>
          <!-- some dependencies is omitted ... -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-webmvc</artifactId>
              <version>4.3.23.RELEASE</version>
          </dependency>
          <dependency>
              <groupId>de.odysseus.juel</groupId>
              <artifactId>juel-spi</artifactId>
              <version>2.2.7</version>
          </dependency>
          <dependency>
              <groupId>de.odysseus.juel</groupId>
              <artifactId>juel-api</artifactId>
              <version>2.2.7</version>
          </dependency>
          <dependency>
              <groupId>de.odysseus.juel</groupId>
              <artifactId>juel-impl</artifactId>
              <version>2.2.7</version>
          </dependency>
      </dependencies>
      
      Show
      Deploy [^reproduce.war] that deployment will fail. The war file contains the following dependencies in pon.xml: <dependencies> <!-- some dependencies is omitted ... --> <dependency> <groupId> org.springframework </groupId> <artifactId> spring-webmvc </artifactId> <version> 4.3.23.RELEASE </version> </dependency> <dependency> <groupId> de.odysseus.juel </groupId> <artifactId> juel-spi </artifactId> <version> 2.2.7 </version> </dependency> <dependency> <groupId> de.odysseus.juel </groupId> <artifactId> juel-api </artifactId> <version> 2.2.7 </version> </dependency> <dependency> <groupId> de.odysseus.juel </groupId> <artifactId> juel-impl </artifactId> <version> 2.2.7 </version> </dependency> </dependencies>
    • Workaround Exists
    • Hide

      There are two workarounds.

      1. Disable JSF subsystem by jboss-deployment-structure.xml:
      reproduce.war/WEB-INF/jboss-deployment-structure.xml

      <?xml version="1.0"?>
      <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
          <deployment>
              <exclude-subsystems>
                  <subsystem name="jsf"/>
              </exclude-subsystems>
          </deployment>
      </jboss-deployment-structure>
      

      2. Set com.sun.faces.expressionFactory in web.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
               http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
               version="4.0">
          <context-param>
              <param-name>com.sun.faces.expressionFactory</param-name>
              <param-value>com.sun.el.ExpressionFactoryImpl</param-value>
          </context-param>
      </web-app>
      
      Show
      There are two workarounds. 1. Disable JSF subsystem by jboss-deployment-structure.xml: reproduce.war/WEB-INF/jboss-deployment-structure.xml <?xml version= "1.0" ?> <jboss-deployment-structure xmlns= "urn:jboss:deployment-structure:1.2" > <deployment> <exclude-subsystems> <subsystem name= "jsf" /> </exclude-subsystems> </deployment> </jboss-deployment-structure> 2. Set com.sun.faces.expressionFactory in web.xml <?xml version= "1.0" encoding= "UTF-8" ?> <web-app xmlns= "http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version= "4.0" > <context-param> <param-name> com.sun.faces.expressionFactory </param-name> <param-value> com.sun.el.ExpressionFactoryImpl </param-value> </context-param> </web-app>

      If the war file contains spring-mvc and de.odysseus.juel in WEB-INF/lib, the deployment fails with the following message. The deployment is successful on EAP7.0.9 and EAP7.1.0, but it fails on EAP7.2.x.
      This behavior breaks backward compatibility between EAP7.1 and EAP7.2.

      14:55:59,808 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 73) MSC000001: Failed to start service jboss.deployment.unit."reproduce.war".undertow-deployment: org.jboss.msc.service.StartException in service jboss.deployment.unit."reproduce.war".undertow-deployment: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.NullPointerException
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:81)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
      	at java.lang.Thread.run(Thread.java:748)
      	at org.jboss.threads.JBossThread.run(JBossThread.java:485)
      Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.NullPointerException
      	at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:252)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
      	... 8 more
      Caused by: java.lang.RuntimeException: java.lang.NullPointerException
      	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:315)
      	at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
      	at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:216)
      	at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:185)
      	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
      	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
      	at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:250)
      	... 10 more
      Caused by: java.lang.NullPointerException
      	at javax.el.CompositeELResolver.add(CompositeELResolver.java:117)
      	at com.sun.faces.el.DemuxCompositeELResolver.addRootELResolver(DemuxCompositeELResolver.java:142)
      	at com.sun.faces.el.ELUtils.addEL3_0_Resolvers(ELUtils.java:336)
      	at com.sun.faces.el.ELUtils.buildFacesResolver(ELUtils.java:258)
      	at com.sun.faces.application.ApplicationAssociate.initializeELResolverChains(ApplicationAssociate.java:503)
      	at com.sun.faces.application.ApplicationImpl.performOneTimeELInitialization(ApplicationImpl.java:1405)
      	at com.sun.faces.application.ApplicationImpl.getELResolver(ApplicationImpl.java:529)
      	at javax.faces.application.ApplicationWrapper.getELResolver(ApplicationWrapper.java:621)
      	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:256)
      	... 21 more
      

              thofman Tomas Hofman
              thofman Tomas Hofman
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: