Note that there are some explanatory texts on larger screens.

plurals
  1. POCreating module in jBoss AS
    primarykey
    data
    text
    <p>I’m using jBoss AS 7 to publish my various projects, and all of them use the Jersey API, so instead of deploying it in every project I wanted to create a module for it. For that, I created the folder JBOSS_HOME\modules\com\sun\Jersey\main and in this folder I placed the Jersey jar’s and the file module.xml:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;module xmlns="urn:jboss:module:1.1" name="com.sun.jersey"&gt; &lt;properties&gt; &lt;property name="jboss.api" value="private"/&gt; &lt;/properties&gt; &lt;resources&gt; &lt;resource-root path="jersey-bundle-1.12.jar"/&gt; &lt;resource-root path="asm-3.1.jar"/&gt; &lt;resource-root path="jackson-core-asl-1.9.2.jar"/&gt; &lt;resource-root path="jackson-jaxrs-1.9.2.jar"/&gt; &lt;resource-root path="jackson-mapper-asl-1.9.2.jar"/&gt; &lt;resource-root path="jackson-xc-1.9.2.jar"/&gt; &lt;resource-root path="jersey-client-1.12.jar"/&gt; &lt;resource-root path="jersey-core-1.12.jar"/&gt; &lt;resource-root path="jersey-json-1.12.jar"/&gt; &lt;resource-root path="jersey-server-1.12.jar"/&gt; &lt;resource-root path="jersey-servlet-1.12.jar"/&gt; &lt;resource-root path="jettison-1.1.jar"/&gt; &lt;resource-root path="jsr311-api-1.1.1.jar"/&gt; &lt;/resources&gt; &lt;dependencies&gt; &lt;module name="javax.api"/&gt; &lt;module name="org.jboss.staxmapper"/&gt; &lt;module name="org.jboss.as.controller"/&gt; &lt;module name="org.jboss.as.server"/&gt; &lt;module name="org.jboss.modules"/&gt; &lt;module name="org.jboss.msc"/&gt; &lt;module name="org.jboss.logging"/&gt; &lt;module name="org.jboss.vfs"/&gt; &lt;/dependencies&gt; &lt;/module&gt; </code></pre> <p>To prevent the use of the jBoss JAX-RS I removed from the file JBOSS_HOME\standalone\standalone.xml the following lines:</p> <pre><code>&lt;subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/&gt; &lt;extension module="org.jboss.as.jaxrs"/&gt; </code></pre> <p>In MyProjectEAR\META-INF folder I created the jboss-deployment-structure.xml file with the following structure:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0"&gt; &lt;deployment&gt; &lt;dependencies&gt; &lt;module name="com.sun.jersey" slot="main" &gt; &lt;imports&gt; &lt;include path="META-INF/**"/&gt; &lt;include path="**"/&gt; &lt;/imports&gt; &lt;/module&gt; &lt;/dependencies&gt; &lt;/deployment&gt; &lt;/jboss-deployment-structure&gt; </code></pre> <p>My MyProject\webContent\web.xml file is this:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&gt; &lt;display-name&gt; MyProject &lt;/display-name&gt; &lt;servlet&gt; &lt;description&gt; &lt;/description&gt; &lt;servlet-name&gt;Jersey Servlet&lt;/servlet-name&gt; &lt;servlet-class&gt;com.sun.jersey.spi.container.servlet.ServletContainer&lt;/servlet-class&gt; &lt;init-param&gt; &lt;description&gt;&lt;/description&gt; &lt;param-name&gt;javax.ws.rs.Application&lt;/param-name&gt; &lt;param-value&gt;com.MyProject.service.REST_Application&lt;/param-value&gt; &lt;/init-param&gt; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;Jersey Servlet&lt;/servlet-name&gt; &lt;url-pattern&gt;/jaxrs/*&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; &lt;/web-app&gt; </code></pre> <p>My manifest file present at MyProject\webContent\META-INF\ MANIFEST.MF is this:</p> <pre><code>Manifest-Version: 1.0 Class-Path: </code></pre> <p>When i tried to deploy the project I got the following error:</p> <pre><code>12:12:11,804 INFO [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015876: Starting deployment of "MyProjectEAR.ear" 12:12:11,852 INFO [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015876: Starting deployment of "MyProject.war" 12:12:12,052 WARN [org.jboss.as.dependency.private] (MSC service thread 1-3) JBAS018567: Deployment "deployment.MyProjectEAR.ear" is using a private module ("com.sun.jersey:main") which may be changed or removed in future versions without notice. 12:12:12,054 WARN [org.jboss.as.dependency.private] (MSC service thread 1-3) JBAS018567: Deployment "deployment.MyProjectEAR.ear" is using a private module ("com.sun.jersey:main") which may be changed or removed in future versions without notice. 12:12:12,055 WARN [org.jboss.as.dependency.private] (MSC service thread 1-3) JBAS018567: Deployment "deployment.MyProjectEAR.ear" is using a private module ("com.sun.misc:main") which may be changed or removed in future versions without notice. 12:12:12,057 WARN [org.jboss.as.dependency.private] (MSC service thread 1-3) JBAS018567: Deployment "deployment.MyProjectEAR.ear" is using a private module ("com.sun.misc:main") which may be changed or removed in future versions without notice. 12:12:12,117 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC00001: Failed to start service jboss.deployment.subunit."MyProjectEAR.ear"."MyProject.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."MyProjectEAR.ear"."MyProject.war".POST_MODULE: Failed to process phase POST_MODULE of subdeployment "MyProject.war" of deployment "MyProjectEAR.ear" at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_30] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_30] at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_30] Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011093: Could not load component class com.sun.jersey.spi.container.servlet.ServletContainer at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:113) at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:54) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final] ... 5 more Caused by: java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer from [Module "deployment.MyProjectEAR.ear.MyProject.war:main" from Service Module Loader] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA] at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA] at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA] at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA] at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA] at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:111) ... 7 more 12:12:12,340 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "MyProjectEAR.ear" was rolled back with failure message {"JBAS014671: Failed services" =&gt; {"jboss.deployment.subunit.\"MyProjectEAR.ear\".\"MyProject.war\".POST_MODULE" =&gt; "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"MyProjectEAR.ear\".\"MyProject.war\".POST_MODULE: Failed to process phase POST_MODULE of subdeployment \"MyProject.war\" of deployment \"MyProjectEAR.ear\""}} 12:12:12,351 INFO [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015877: Stopped deployment MyProject.war in 9ms 12:12:12,353 INFO [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015877: Stopped deployment MyProjectEAR.ear in 12ms 12:12:12,355 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report JBAS014777: Services which failed to start: service jboss.deployment.subunit."MyProjectEAR.ear"."MyProject.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."MyProjectEAR.ear"."MyProject.war".POST_MODULE: Failed to process phase POST_MODULE of subdeployment "MyProject.war" of deployment "MyProjectEAR.ear" 12:12:12,359 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" =&gt; {"Operation step-2" =&gt; {"JBAS014671: Failed services" =&gt; {"jboss.deployment.subunit.\"MyProjectEAR.ear\".\"MyProject.war\".POST_MODULE" =&gt; "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"MyProjectEAR.ear\".\"MyProject.war\".POST_MODULE: Failed to process phase POST_MODULE of subdeployment \"MyProject.war\" of deployment \"MyProjectEAR.ear\""}}}} </code></pre> <p><strong>* EDIT : *</strong> If I place the Jersey API in JBOSS_HOME\modules\com\sun\jsf-impl\main and change the corresponding module.xml everything works ok. What does this location have different?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload