title: JBoss EAP 6.1 Oracle ADF 11
body: <p>I'm trying to migrate JBoss EAP 5.1 application to JBoss EAP 6.1.
  My app uses JSF 1.2, MyFaces Trinidad and Oracle ADF 11 as jsf component libraries.</p>
  
  <p>The app was working fine on JBoss EAP 5.1.</p>
  
  <p>The deployment on JBoss EAP 6.1 is fine, but it seems that adf components seems are causing problems.<br>
  The application generates exception when trying to open a page that uses ADF components.<br>
  Here is the full stack trace:</p>
  
  <pre><code>    Failed to define class oracle.jbo.domain.Number in Module "deployment.MyAppServer.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link oracle/jbo/domain/Number (Module "deployment.MyAppServer.war:main" from Service Module Loader)
      at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:427) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:260) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:75) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.Module.loadModuleClass(Module.java:526) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:188) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at oracle.adfinternal.view.rich.marshal.DefaultMarshalingService._registerDefaults(DefaultMarshalingService.java:244) [adf-richclient-impl-11.jar:]
      at oracle.adfinternal.view.rich.marshal.DefaultMarshalingService.&lt;init&gt;(DefaultMarshalingService.java:73) [adf-richclient-impl-11.jar:]
      at oracle.adfinternal.view.rich.marshal.DefaultMarshalingService.&lt;clinit&gt;(DefaultMarshalingService.java:334) [adf-richclient-impl-11.jar:]
      at oracle.adfinternal.view.faces.event.rich.ClientEventUtils._getEventParameters(ClientEventUtils.java:248) [adf-richclient-impl-11.jar:]
      at oracle.adfinternal.view.faces.event.rich.ClientEventUtils._parseEvents(ClientEventUtils.java:177) [adf-richclient-impl-11.jar:]
      at oracle.adfinternal.view.faces.event.rich.ClientEventUtils._getAndLoadEvents(ClientEventUtils.java:146) [adf-richclient-impl-11.jar:]
      at oracle.adfinternal.view.faces.event.rich.ClientEventUtils.decodeAndStoreClientEvents(ClientEventUtils.java:125) [adf-richclient-impl-11.jar:]
      at oracle.adfinternal.view.faces.context.RichPhaseListener.beforePhase(RichPhaseListener.java:249) [adf-richclient-impl-11.jar:]
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:258) [adf-richclient-impl-11.jar:]
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177) [adf-richclient-impl-11.jar:]
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) [jsf-api-1.2_15-b01-redhat-3.jar:1.2_15-b01-redhat-3]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97) [adf-richclient-impl-11.jar:]
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420) [trinidad-impl-1.2.12.1.jar:1.2.12.1-SNAPSHOT]
      at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) [adf-richclient-impl-11.jar:]
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420) [trinidad-impl-1.2.12.1.jar:1.2.12.1-SNAPSHOT]
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247) [trinidad-impl-1.2.12.1.jar:1.2.12.1-SNAPSHOT]
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157) [trinidad-impl-1.2.12.1.jar:1.2.12.1-SNAPSHOT]
      at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) [trinidad-api-1.2.12.1.jar:1.2.12.1-SNAPSHOT]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at com.edf.marketlab.web.filter.SessionActivityFilter.doFilter(SessionActivityFilter.java:67) [classes:]
      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.web.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:42) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) [jboss-seam-2.2.2.EAP5.jar:2.2.2.EAP5]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:389) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
      at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
  Caused by: java.lang.NoClassDefFoundError: oracle/sql/ORAData
      at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_25]
      at java.lang.ClassLoader.defineClass(ClassLoader.java:792) [rt.jar:1.7.0_25]
      at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:344) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:422) [jboss-modules.jar:1.2.0.Final-redhat-1]
      ... 60 more
  Caused by: java.lang.ClassNotFoundException: oracle.sql.ORAData from [Module "deployment.MyAppServer.war:main" from Service Module Loader]
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.0.Final-redhat-1]
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.0.Final-redhat-1]
  </code></pre>
  
  <p>I'm using the default JSF implementation (Mojorra) provided by JBoss.</p>
  
  <p>Here is my jboss-deployment-structure.xml:</p>
  
  <pre><code>&lt;jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0"&gt;
      &lt;deployment&gt;
          &lt;exclusions&gt;
              &lt;module name="javax.faces.api" slot="main" /&gt;
              &lt;module name="com.sun.jsf-impl" slot="main" /&gt;
          &lt;/exclusions&gt;
          &lt;dependencies&gt;
              &lt;module name="javax.faces.api" slot="1.2" /&gt;
              &lt;module name="com.sun.jsf-impl" slot="1.2" /&gt;
          &lt;/dependencies&gt;
      &lt;/deployment&gt;
  &lt;/jboss-deployment-structure&gt;
  </code></pre>
  
  <p>Here is my pom.xml with the ADF dependencies :</p>
  
  <pre><code>&lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;adfm&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/adfm.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;adf-richclient-api&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/adf-richclient-api-11.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;adf-richclient-impl&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/adf-richclient-impl-11.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;adflogginghandler&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/adflogginghandler.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;adf-share-base&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/adf-share-base.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;adf-share-ca&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/adf-share-ca.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;adf-share-support&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/adf-share-support.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;dms&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/dms.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;mdsrt&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/mdsrt.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle.adf&lt;/groupId&gt;
          &lt;artifactId&gt;xmlparserv2-distilled-9i&lt;/artifactId&gt;
          &lt;version&gt;11.0&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/xmlparserv2-distilled-9i.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.apache.myfaces.trinidad&lt;/groupId&gt;
          &lt;artifactId&gt;trinidad-api&lt;/artifactId&gt;
          &lt;version&gt;1.2.12.1&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/trinidad-api-1.2.12.1.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.apache.myfaces.trinidad&lt;/groupId&gt;
          &lt;artifactId&gt;trinidad-impl&lt;/artifactId&gt;
          &lt;version&gt;1.2.12.1&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;
              ${project.basedir}/src/main/webapp/WEB-INF/lib/trinidad-impl-1.2.12.1.jar
          &lt;/systemPath&gt;
      &lt;/dependency&gt;
  </code></pre>