Spring MVC weblogic ClassNotFoundException

Spring MVC weblogic ClassNotFoundException

我正在尝试使用 weblogic 设置一个基本的 spring-mvc 项目。我得到这个堆栈跟踪

weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
    at weblogic.application.internal.flow.ModuleStateDriver.next(ModuleStateDriver.java:192)
    at weblogic.application.internal.flow.ModuleStateDriver.next(ModuleStateDriver.java:187)
    at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:83)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1025)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:986)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:83)
    at weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.java:607)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:539)

我没有自定义代码,我使用了 IntelliJ 和 Spring。你能帮帮我吗?

您的 jar 依赖项丢失。您必须手动导入它们,或者在使用 Maven 的情况下,将这些行添加到您的 pom.xml,以确保所有依赖项。

<properties>
    <spring.version>4.3.2.RELEASE</spring.version>
</properties>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>

然后您可以清理并重建您的项目。应该没问题。

在相同的情况下,这是由于 WebLogic 内部库和您的应用程序之间存在冲突,您可能应该尝试使用它:

<prefer-application-packages>    
   <package-name>org.springframework.*</package-name>
</prefer-application-packages>