2013-10-01 86 views
3

当我部署在JBoss中我的工作战争文件7我得到了下面的异常的JBoss AS 7迁移 - 部署失败的问题

 
11:59:11,090 WARN [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015893: Encountered invalid class name 'com.sun.jersey.server.impl.model.parameter.multivalued.StringReaderProviders$StringConstructor' for service type 'com.sun.jersey.spi.StringReaderProvider' 
11:59:11,091 WARN [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015893: Encountered invalid class name 'com.sun.jersey.server.impl.model.parameter.multivalued.StringReaderProviders$DateProvider' for service type 'com.sun.jersey.spi.StringReaderProvider' 
11:59:11,092 WARN [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015893: Encountered invalid class name 'com.sun.jersey.server.impl.model.parameter.multivalued.JAXBStringReaderProviders$RootElementProvider' for service type 'com.sun.jersey.spi.StringReaderProvider' 
11:59:11,923 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC00001: Failed to start service jboss.deployment.unit."myimpl.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."myimpl.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "myimpl.war" 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.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(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_37] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_37] 
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_37] 
Caused by: java.lang.NoClassDefFoundError: org/hibernate/exception/ConstraintViolationException 
    at java.lang.Class.getDeclaredConstructors0(Native Method) [rt.jar:1.6.0_37] 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389) [rt.jar:1.6.0_37] 
    at java.lang.Class.getConstructor0(Class.java:2699) [rt.jar:1.6.0_37] 
    at java.lang.Class.getConstructor(Class.java:1657) [rt.jar:1.6.0_37] 
    at org.jboss.as.web.deployment.jsf.JsfManagedBeanProcessor.deploy(JsfManagedBeanProcessor.java:108) 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    ... 5 more 
Caused by: java.lang.ClassNotFoundException: org.hibernate.exception.ConstraintViolationException from [Module "deployment.myimpl.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.performLoadClassChecked(ConcurrentClassLoader.java:423) [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] 
    ... 11 more 

11:59:11,938 INFO [org.jboss.as] (MSC service thread 1-7) JBAS015951: Admin console listening on http://127.0.0.1:9990 
11:59:11,938 ERROR [org.jboss.as] (MSC service thread 1-7) JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors) in 72380ms - Started 1402 of 1548 services (1 services failed or missing dependencies, 136 services are passive or on-demand) 
11:59:11,939 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "myimpl.war" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"myimpl.war\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"myimpl.war\".POST_MODULE: Failed to process phase POST_MODULE of deployment \"myimpl.war\""}} 
11:59:12,036 INFO [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015877: Stopped deployment myimpl.war in 95ms 
11:59:12,038 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report 
JBAS014777: Services which failed to start:  service jboss.deployment.unit."myimpl.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."myimpl.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "myimpl.war" 

11:59:12,040 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"myimpl.war\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"myimpl.war\".POST_MODULE: Failed to process phase POST_MODULE of deployment \"myimpl.war\""}}}} 

我觉得默认的JBoss AS 7支持休眠jar添加到类路径上发射时间(因为休眠模块已经在JBoss AS7中可用)。我在hibernate-core-4.0.1.Final.jar(在'modules \ org \ hibernate \ main'文件夹结构下)找到了ConstraintViolationException类。那为什么这个NoClassDefFoundError发生?

请注意,我不使用Maven的依赖解决。为了依赖解决我手动把jar文件放到myimpl.war \ WEB-INF \ lib中

无论如何,我在hibernate(hibernate3.jar)的WEB-INF \ lib目录中添加了一些新的异常之后,看起来像如下

 
12:51:19,146 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC00001: Failed to start service jboss.deployment.unit."myimpl.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."myimpl.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "myimpl.war" 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.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(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_37] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_37] 
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_37] 
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011232: Only one JAX-RS Application Class allowed. com.sun.jersey.api.core.WebAppResourceConfig com.sun.jersey.api.core.ResourceConfig com.sun.jersey.api.core.ClassNamesResourceConfig com.sun.jersey.api.core.ScanningResourceConfig com.sun.jersey.api.core.ClasspathResourceConfig com.sun.jersey.api.core.DefaultResourceConfig com.sun.jersey.api.core.PackagesResourceConfig com.sun.jersey.server.impl.application.DeferredResourceConfig com.sun.jersey.api.core.ApplicationAdapter 
    at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.scan(JaxrsScanningProcessor.java:209) 
    at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:105) 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    ... 5 more 

请给我一个简短的想法如何解决这个问题

+0

你可以从[这个链接]找到WEB-INF/lib文件夹罐子(https://www.dropbox.com/s/uuj7if6cyhj7vcg/libInWebInf.txt) –

回答

1

解决了org.jboss.as.server.deployment.DeploymentUnitProcessingException通过从stanalone.xml

 


    <extension module="org.jboss.as.jaxrs"/> 
    <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/> 

 

除去下面的两行同时休眠NoClassDefFoundError是由于休眠罐子版本问题。对战争的文件我使用hibernate3.jar里和在JBoss AS7的休眠模块目录中包含一个Hibernate 4.0.1版本

1

你必须添加对Hibernate的罐子依赖于JBoss部署结构的XML file.Try这一点,让我知道结果

+0

我加入我的依赖WEB-INF/lib目录下,可以从[This Link](https://www.dropbox.com/s/uuj7if6cyhj7vcg/libInWebInf.txt)找到lib目录下的jar文件。实际上,我没有添加任何依赖jboss-deployment-sturcture.xml文件 –

1

检查classpath中太

问题,java.lang.NoClassDefFoundError

根本原因:不正确的Java路径在环境变量设置节

解决方案:设置正确的JAVA_HOME路径

步骤 - >环境变量设置(我的压缩 - 右键 - >属性 - >信封可变>高级Tab - >变量)

创建新的JAVA_HOME环境变量。

JAVA_HOME; C:\ Program Files文件(x86)的\的Java \在PATH变量部分jdk1.6.0_14

设置JAVA_HOME变量。

PATH%JAVA_HOME%\ bin中

设置JAVA_HOME变量CLASSPATH变量

CLASSPATH%JAVA_HOME%\ JRE \ lib中

重启系统

验证所有变量

回声%CLASSPATH%

回波%JAVA_HOME%

回声%PATH%

编译&运行程序