java.lang.ClassNotFoundException:org.springframework.beans.factory.access.BeanFactoryReference
经过长时间的搜索,我的情况没有答案,我在这里。 尝试将“Struts 2+Maven+Spring”WAR项目部署到Wildfly 11中,使用EclipseOxigen的默认值all 堆栈如下所示:java.lang.ClassNotFoundException:org.springframework.beans.factory.access.BeanFactoryReference,java,spring,maven,struts2,jboss-wildfly-11,Java,Spring,Maven,Struts2,Jboss Wildfly 11,经过长时间的搜索,我的情况没有答案,我在这里。 尝试将“Struts 2+Maven+Spring”WAR项目部署到Wildfly 11中,使用EclipseOxigen的默认值all 堆栈如下所示: 15:04:27,325 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0027: Starting deployment of "MSDB.war" (runtime-name: "MSDB.war"
15:04:27,325 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0027: Starting deployment of "MSDB.war" (runtime-name: "MSDB.war")
15:04:30,148 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."MSDB.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."MSDB.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "MSDB.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:172)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class org.springframework.web.context.ContextLoader with ClassLoader ModuleClassLoader for Module "deployment.MSDB.war" from Service Module Loader
at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:78)
at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:57)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:106)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:91)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:76)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:165)
... 5 more
Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/beans/factory/access/BeanFactoryReference;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredFields(Unknown Source)
at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:72)
at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)
... 10 more
Caused by: java.lang.ClassNotFoundException: org.springframework.beans.factory.access.BeanFactoryReference from [Module "deployment.MSDB.war" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
... 15 more
15:04:30,150 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 4) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "MSDB.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"MSDB.war\".POST_MODULE" => "WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"MSDB.war\"
Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class org.springframework.web.context.ContextLoader with ClassLoader ModuleClassLoader for Module \"deployment.MSDB.war\" from Service Module Loader
Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/beans/factory/access/BeanFactoryReference;
Caused by: java.lang.ClassNotFoundException: org.springframework.beans.factory.access.BeanFactoryReference from [Module \"deployment.MSDB.war\" from Service Module Loader]"}}
15:04:30,151 ERROR [org.jboss.as.server] (External Management Request Threads -- 4) WFLYSRV0021: Deploy of deployment "MSDB.war" was rolled back with the following failure message:
{"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"MSDB.war\".POST_MODULE" => "WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"MSDB.war\"
Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class org.springframework.web.context.ContextLoader with ClassLoader ModuleClassLoader for Module \"deployment.MSDB.war\" from Service Module Loader
Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/beans/factory/access/BeanFactoryReference;
Caused by: java.lang.ClassNotFoundException: org.springframework.beans.factory.access.BeanFactoryReference from [Module \"deployment.MSDB.war\" from Service Module Loader]"}}
15:04:30,268 INFO [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0028: Stopped deployment MSDB.war (runtime-name: MSDB.war) in 116ms
15:04:27325信息[org.jboss.as.server.deployment](MSC服务线程1-3)WFLYSRV0027:开始部署“MSDB.war”(运行时名称:“MSDB.war”)
15:04:30148错误[org.jboss.msc.service.fail](msc服务线程1-4)MSC000001:无法启动服务jboss.deployment.unit.“MSDB.war”。POST_模块:org.jboss.msc.service.StartException in service jboss.deployment.unit.“MSDB.war”中的org.jboss.msc.service.StartException。POST_模块:WFLYSRV0153:无法处理部署“MSDB.war”的阶段POST_模块
位于org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:172)
位于org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
位于org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)
原因:java.lang.RuntimeException:WFLYSRV0177:从服务模块加载器获取类org.springframework.web.context.ContextLoader的反射信息时出错,该类包含模块“deployment.MSDB.war”的ClassLoader ModuleClassLoader
位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:78)
位于org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:57)
位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:106)
位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:91)
位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:76)
位于org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:165)
... 还有5个
原因:java.lang.NoClassDefFoundError:Lorg/springframework/beans/factory/access/BeanFactoryReference;
位于java.lang.Class.getDeclaredFields0(本机方法)
位于java.lang.Class.privateGetDeclaredFields(未知源)
位于java.lang.Class.getDeclaredFields(未知源)
位于org.jboss.as.server.deployment.reflect.ClassReflectionIndex.(ClassReflectionIndex.java:72)
位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)
... 10多
原因:java.lang.ClassNotFoundException:org.springframework.beans.factory.access.BeanFactoryReference自[服务模块加载器中的模块“deployment.MSDB.war”]
位于org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
位于org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
位于org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
位于org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
... 还有15个
15:04:30150错误[org.jboss.as.controller.management operation](外部管理请求线程--4)WFLYCTL0013:操作(“部署”)失败-地址:([(“部署”=>“MSDB.war”))-故障描述:{“WFLYCTL0080:失败的服务”=>{“jboss.deployment.unit.\“MSDB.war\”。POST\u模块“=>WFLYSRV0153:无法处理部署“MSDB.war”的阶段后处理模块
原因:java.lang.RuntimeException:WFLYSRV0177:从服务模块加载器获取类org.springframework.web.context.ContextLoader的反射信息时出错,该类的类加载器ModuleClassLoader用于模块\“deployment.MSDB.war\”
原因:java.lang.NoClassDefFoundError:Lorg/springframework/beans/factory/access/BeanFactoryReference;
原因:java.lang.ClassNotFoundException:org.springframework.beans.factory.access.BeanFactoryReference from[Module\'deployment.MSDB.war\'from Service Module Loader]“}
15:04:30151错误[org.jboss.as.server](外部管理请求线程--4)WFLYSRV0021:部署“MSDB.war”的部署已回滚,并显示以下失败消息:
{“WFLYCTL0080:失败的服务”=>{“jboss.deployment.unit.\“MSDB.war\”.POST\u模块”=>“WFLYSRV0153:无法处理部署的阶段POST\u模块\“MSDB.war\”
原因:java.lang.RuntimeException:WFLYSRV0177:从服务模块加载器获取类org.springframework.web.context.ContextLoader的反射信息时出错,该类的类加载器ModuleClassLoader用于模块\“deployment.MSDB.war\”
原因:java.lang.NoClassDefFoundError:Lorg/springframework/beans/factory/access/BeanFactoryReference;
原因:java.lang.ClassNotFoundException:org.springframework.beans.factory.access.BeanFactoryReference from[Module\'deployment.MSDB.war\'from Service Module Loader]“}
15:04:30268信息[org.jboss.as.server.deployment](MSC服务线程1-1)WFLYSRV0028:在116ms内停止部署MSDB.war(运行时名称:MSDB.war)
目前pom.xml是这样的(在插入了大量额外的依赖项之后,从以前的web搜索中尝试):
4.0.0
SBMC
MSDB
战争
0.0.1-快照
MSDB
http://maven.apache.org
朱尼特
朱尼特
3.8.1
测试
org.apache.struts
struts2型芯
2.3.34
org.apache.struts
struts2弹簧插件
2.3.16.2
org.springframework
弹簧芯
5.0.0.0发布
运行时
org.springframework
春豆
5.0.0.0发布
org.springframework
弹簧式
5.0.
<project xmlns="http://maven.apache.org/POM/4.0.0" mlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SBMC</groupId>
<artifactId>MSDB</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>MSDB</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.34</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.16.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.0.RELEASE</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.3.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
</dependencies>
<build>
<finalName>MSDB</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>5.0</version>
</plugin>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin> -->
</plugins>
</build>
</project>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
public class ContextBeanFactoryReference implements BeanFactoryReference
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
</exclusions>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-junit-plugin</artifactId>
<version>${struts2.version}</version>
<exclusions>
<exclusion>
<artifactId>spring-context</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-core</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.3.Final</version>
</dependency>
<dependency>
<groupId>org.springframework.security.extensions</groupId>
<artifactId>spring-security-saml2-core</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>