我正在从 JBOSS GA 5.1 迁移到 JBOSS EAP 6.4,我在加载模块时遇到问题,出现此错误:
Nuevas dependencias que faltan/no satisfechas:
service jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations (faltan) dependientes: [service jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.HandleDelegate, service jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.ValidatorFactory, service jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.ORB, service jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.Validator]
11:13:52,045 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014612: Operación ("deploy") falló - dirección: ([("deployment" => "SPM-GUI-ear.ear")]) - descripción de la falla: {
"JBAS014671: Servicios fallidos" => {"jboss.deployment.subunit."SPM-GUI-ear.ear"."SPM-GUI.war".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit."SPM-GUI-ear.ear"."SPM-GUI.war".POST_MODULE: JBAS018733: Error al procesar la fase POST_MODULE de subdeployment "SPM-GUI.war" of deployment "SPM-GUI-ear.ear"
Caused by: java.lang.NoClassDefFoundError: javax/faces/FacesException
Caused by: java.lang.ClassNotFoundException: javax.faces.FacesException from [Module "deployment.SPM-GUI-ear.ear:main" from Service Module Loader]"},
"JBAS014771: Servicios con dependencias que faltan/no disponibles" => [
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher.HandleDelegate falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.ValidatorFactory falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher.ORB falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.ORB falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher.Validator falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.Validator falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher.ValidatorFactory falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.HandleDelegate falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations]"
]
}
...
...
...
11:13:52,045 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014612: Operación ("deploy") falló - dirección: ([("deployment" => "SPM-GUI-ear.ear")]) - descripción de la falla: {
"JBAS014671: Servicios fallidos" => {"jboss.deployment.subunit."SPM-GUI-ear.ear"."SPM-GUI.war".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit."SPM-GUI-ear.ear"."SPM-GUI.war".POST_MODULE: JBAS018733: Error al procesar la fase POST_MODULE de subdeployment "SPM-GUI.war" of deployment "SPM-GUI-ear.ear"
Caused by: java.lang.NoClassDefFoundError: javax/faces/FacesException
Caused by: java.lang.ClassNotFoundException: javax.faces.FacesException from [Module "deployment.SPM-GUI-ear.ear:main" from Service Module Loader]"},
"JBAS014771: Servicios con dependencias que faltan/no disponibles" => [
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher.HandleDelegate falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.ValidatorFactory falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher.ORB falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.ORB falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher.Validator falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.Validator falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher.ValidatorFactory falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.TimerServiceDispatcher]",
"jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations.HandleDelegate falta [jboss.naming.context.java.comp.SPM-GUI-ear.jboss-seam.EjbSynchronizations]"
]
}
如何解决此问题?
看来你耳朵或 Jboss 中缺少一个依赖关系。
将包含javax/faces/FacesException类的jar添加到您的耳朵中。
两种选择:
- 在战争中:app-web.war/lib
- 在耳朵里:APP-INF\lib
您之前是如何添加此库的。为了进一步帮助您,您必须告诉我们您是如何产生耳朵的。
你可以在javax.faces-api中找到它,但你必须为你的耳朵选择合适的版本。maven 依赖示例:
<dependency>
<groupId>javax.faces</groupId>
<artifactId>javax.faces-api</artifactId>
</dependency>