1
votes

We are migrating one of our Spring WEbservice from Websphere to JBOSS EAP 6.3 environment. We made necessary modification to the Configuration files to resolve sevaral errors. In this application we have Spring, Spring-WS, Hibernate, JPA. We are using Maven for Build automation. But at the end we stuck with below errors while deploying the application on JBOSS EAP 6.3. I am not able to find the reason why i am getting these missing dependents errors. Because this application is working in Websphere perfectly well. These issues are poping up only when we deploy the App in JBOSS EAP.

component."com.sun.faces.config.ConfigureListener".START (missing) dependents:
component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".START (missing) dependents:
component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".START (missing) dependents:
component."org.apache.catalina.servlets.DefaultServlet".START (missing) dependents:
component."org.apache.jasper.servlet.JspServlet".START (missing) dependents:
org.springframework.web.context.ContextLoaderListener".START (missing) dependents:
component."org.springframework.web.filter.CharacterEncodingFilter".START (missing) dependents:
component."org.springframework.ws.transport.http.MessageDispatcherServlet".START (missing) dependents:
2
Check your pom and ensure things like Hibernate and the servlet dependencies are marked as <scope>provided</scope>.James R. Perkins

2 Answers

1
votes

Create a file jboss-deployment-structure.xml under WEB-INF folder. Add the following content in it.

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
  <deployment>

    <exclusions>
         <module name="org.jboss.resteasy.resteasy-spring"/>

    </exclusions>
  </deployment>
</jboss-deployment-structure>

You are good now , because spring rest easy module under modules directory has all the spring related jars which will conflict with the spring jars in the application.

0
votes

Seems like a classload issue due to two same classes exist in Jboss and in your app(WAR or EAR). Check it and if that so, you can set provided in your POM file or exclude conflicting lib or subsystem in jboss-deployment-structure.xml like:

excluding libs:

<deployment>
    <exclusions>
        <module name="org.slf4j"/>
        <module name="org.slf4j.impl"/>
        <module name="org.apache.log4j"/>
        <module name="org.apache.commons.logging"/>
        <module name="org.log4j"/>
        <module name="org.jboss.logging"/>
    </exclusions>
</deployment>

excluding subsystem:

<deployment>
    <exclude-subsystems>
        <subsystem name="logging" />
    </exclude-subsystems>
</deployment>