2016-07-12 12 views
0

При попытке развернуть военный файл в JBoss 7 AS сервер я получил следующие ошибкиJboss 7 развернуть распорки архив войны

23:23:07,111 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC00001: Failed to start service jboss.deployment.unit."testapp.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."testapp.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "testapp.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.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_95] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_95] 
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_95] 
Caused by: java.lang.RuntimeException: Error getting reflective information for class fr.improve.struts.taglib.layout.LabelledTag with ClassLoader ModuleClassLoader for Module "deployment.testapp.war:main" from Service Module Loader 
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58) 
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85) 
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70) 
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55) 
    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.NoClassDefFoundError: Lorg/apache/struts/util/MessageResources; 
    at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.7.0_95] 
    at java.lang.Class.privateGetDeclaredFields(Class.java:2509) [rt.jar:1.7.0_95] 
    at java.lang.Class.getDeclaredFields(Class.java:1819) [rt.jar:1.7.0_95] 
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    ... 10 more 
Caused by: java.lang.ClassNotFoundException: org.apache.struts.util.MessageResources from [Module "deployment.testapp.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] 
    ... 15 more 

23:23:07,118 INFO [org.jboss.as.server] (HttpManagementService-threads - 7) JBAS015870: Deploy of deployment "testapp.war" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"testapp.war\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"testapp.war\".POST_MODULE: Failed to process phase POST_MODULE of deployment \"testapp.war\""}} 
23:23:07,206 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015877: Stopped deployment testapp.war in 87ms 
23:23:07,206 INFO [org.jboss.as.controller] (HttpManagementService-threads - 7) JBAS014774: Service status report 
JBAS014777: Services which failed to start:  service jboss.deployment.unit."testapp.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."testapp.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "testapp.war" 
+0

Кажется класс MessageResource не упакован в вашем приложении или предоставляется в качестве модуля. Вы должны добавить дополнительную информацию о своей военной структуре и о том, как добавить классы struts. – wfink

ответ

0

Эта проблема возникает при попытке развернуть/военного развертывания уха/банку в jboss7/wildfly, и вы не указали, какие зависимости требуют ваше приложение.

Jboss7/Wildfly имеет свой собственный загрузчик классов модулей, чтобы изолировать приложения и зависимости, запущенные в одну и ту же виртуальную машину Java. Все развертывания в jboss/wildfly загружаются как модули (а не только содержимое, включенное в папку модулей, содержимое папки развертывания также является модулем).

Если в файл развертывания приложения нет упакованной «стойки», вам необходимо развернуть необходимые зависимости в виде модулей и сообщить jboss, что ваше приложение зависит от него.

Итак, у вас есть по крайней мере пяти вариантов:

  1. Построить приложение как убер-Jar, включая вашу зависимость внутри.
  2. Разверните приложение и зависимости в папке развертывания и добавьте запись манифеста в приложение, чтобы сообщить jboss, что ваше приложение зависит от него.
  3. Разверните зависимости приложений и приложений (баночки) в папке развертывания и добавьте дескриптор xb для развертывания jboss в приложение , чтобы сообщить jboss, что ваше приложение зависит от него.
  4. Разверните приложение в папке развертывания и создайте модули для своих зависимостей (если их не существует) и добавьте в приложение заявление манифеста , чтобы сообщить jboss, что ваше приложение зависит от него.
  5. Разверните свое приложение в папке развертывания и создайте модули для своих зависимостей (если их не существует) и используйте в своем приложении jboss-развертываниедескриптор xml, чтобы сообщить jboss, что ваше приложение зависит от него.

Для получения дополнительной информации посетите: jboss 7 classloader jboss 7 deployment descriptors