java.lang.ClassNotFoundException:org.springframework.web.servlet.support.DefaultFlashMapManager Weblogic 12c

java.lang.ClassNotFoundException:org.springframework.web.servlet.support.DefaultFlashMapManager Weblogic 12c,java,spring,weblogic12c,Java,Spring,Weblogic12c,我正在使用Weblogic 12c并尝试在其上部署我的应用程序,但我面临以下异常: weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.springframework.web.servlet.support.DefaultFlashMapManager at weblogic.application.internal.ExtensibleModuleWrapper.start(Extensible

我正在使用Weblogic 12c并尝试在其上部署我的应用程序,但我面临以下异常:

weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.springframework.web.servlet.support.DefaultFlashMapManager
at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:237)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:232)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:82)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:52)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:753)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:263)
at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:53)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:601)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:171)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:121)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:343)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:895)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1422)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:454)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:181)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:643)
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)
我使用的是SpringVersion5.1.0.RELEASE和JSF以及primefaces,服务器上部署的其他应用程序都可以,但这次我想在应用程序中使用SpringREST时,它发生了

在weblogic.xml文件中,我添加了以下配置,以确保它正在使用我的类:

<wls:prefer-application-packages>
        <wls:package-name>org.springframework</wls:package-name>
        <wls:package-name>org.jboss.logging</wls:package-name>
        <wls:package-name>org.springframework.*</wls:package-name>
        <wls:package-name>com.fasterxml.*</wls:package-name>
        <wls:package-name>com.sun.xml.ws.api.wsdl.parser.*</wls:package-name>           
    </wls:prefer-application-packages>

org.springframework
org.jboss.logging
org.springframework*
com.fasterxml*
com.sun.xml.ws.api.wsdl.parser.*
在web.xml配置中

<servlet>
    <servlet-name>springServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/applicationContext.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>springServlet</servlet-name>
    <url-pattern>/service/*</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

springServlet
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
类路径:spring/applicationContext.xml
1.
springServlet
/服务/*
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.xhtml
和applicationContext文件,如:

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:aop="http://www.springframework.org/schema/aop"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:mvc="http://www.springframework.org/schema/mvc"
   xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
                http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<context:annotation-config />
<mvc:annotation-driven />

<context:component-scan base-package="com.package" />

<context:property-placeholder location="classpath:application.properties" />


出于开发目的,该应用程序在嵌入式tomcat上运行良好,但在weblogic server上出现了此问题。

我已通过添加类
org.springframework.web.servlet.support.DefaultFlashMapManager
解决了此问题,该类在中实现了接口
org.springframework.web.servlet.FlashMapManager
项目