I am using jersey.
this is my jboss-deployment-structure:
In JBoss 6 or 7 AS resteasy is loaded as a dependency module by the JavaEE module. Most of the time people get stuck here as we can not exclude JavaEE. However it's possible to exclude JavaEE and include the modules JavaEE is supposed to load except the one's we don't need.
For more details you can check here Foolproof method of excluding resteasy...
Sample jboss-deployment-structure.xml from the same place (Goes in WEB-INF/) :
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<exclude-subsystems>
<subsystem name="jaxrs" />
<subsystem name="webservices" />
<subsystem name="resteasy" />
</exclude-subsystems>
<exclusions>
<module name="javaee.api" />
<module name="javax.ws.rs.api" />
<module name="org.jboss.as.jaxrs" />
<module name="org.jboss.resteasy.resteasy-jaxrs" />
<module name="org.jboss.resteasy.resteasy-cdi" />
<module name="org.jboss.resteasy.jackson-provider" />
<module name="org.jboss.resteasy.resteasy-atom-provider" />
<module name="org.jboss.resteasy.resteasy-hibernatevalidator-provider" />
<module name="org.jboss.resteasy.resteasy-jaxb-provider" />
<module name="org.jboss.resteasy.resteasy-jettison-provider" />
<module name="org.jboss.resteasy.resteasy-jsapi" />
<module name="org.jboss.resteasy.resteasy-multipart-provider" />
<module name="org.jboss.resteasy.resteasy-yaml-provider" />
<module name="org.codehaus.jackson.jackson-core-asl" />
<module name="org.codehaus.jackson.jackson-jaxrs" />
<module name="org.codehaus.jackson.jackson-mapper-asl" />
<module name="org.codehaus.jackson.jackson-xc" />
<module name="org.codehaus.jettison" />
<module name="org.jboss.as.webservices.*" />
<module name="org.jboss.ws.*" />
</exclusions>
<dependencies>
<module name="javax.activation.api" export="true" />
<module name="javax.annotation.api" export="true" />
<!-- <module name="javax.ejb.api" export="true" />
<module name="javax.el.api" export="true" /> -->
<module name="javax.enterprise.api" export="true" />
<module name="javax.enterprise.deploy.api" export="true" />
<module name="javax.inject.api" export="true" />
<module name="javax.interceptor.api" export="true" />
<!-- <module name="javax.jms.api" export="true" />
<module name="javax.jws.api" export="true" />
<module name="javax.mail.api" export="true" />
<module name="javax.management.j2ee.api" export="true" /> -->
<module name="javax.persistence.api" export="true" />
<module name="javax.resource.api" export="true" />
<!-- <module name="javax.rmi.api" export="true" />
<module name="javax.security.auth.message.api" export="true" />
<module name="javax.security.jacc.api" export="true" /> -->
<module name="javax.servlet.api" export="true" />
<module name="javax.servlet.jsp.api" export="true" />
<module name="javax.transaction.api" export="true" />
<module name="javax.validation.api" export="true" />
<!-- <module name="javax.ws.rs.api" export="true" services="export" /> -->
<module name="javax.xml.bind.api" export="true" />
<module name="javax.xml.registry.api" export="true" />
<module name="javax.xml.soap.api" export="true" />
<module name="javax.xml.ws.api" export="true" />
<!-- This one always goes last. -->
<module name="javax.api" export="true" />
</dependencies>
</deployment>
</jboss-deployment-structure>