找不到 ContextLoaderListener
ContextLoaderListener not found
我开始学习 Spring 框架,几乎从一开始就遇到了一个问题:当我在 IntellijIDEA 中开发时,我发现配置 spring mvc 项目并不容易.
部署到 Glassfish 后,项目不断报错
java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException: Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener. Please see server.log for more details.
此外,在查看 Glassfish 日志时,我只看到:
org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
以及一堆类似的抛出异常。
这是我在 web.xml
中进行的上下文参数配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
这可以做什么?
这是 github 项目:https://github.com/vaano94/Project
这应该与编译时的依赖项解析无关,因为您可以编译项目并且项目描述符中的配置看起来非常好。
但是,当您收到一组 ClassNotFoundException
时,这意味着应用程序服务器无法在运行时找到一些 类,那些基本上与 Spring,所以你必须检查你的项目工件依赖关系。
在 Intellij IDEA 中:
- 打开项目配置视图:文件 -> 项目结构
- 导航到您的项目 Web 工件:项目设置 -> 工件 然后单击您的项目 exploded war神器.
- 在输出布局选项卡中,导航到库文件夹,即/WEB-INF/lib/ 并检查是否包含所有 Spring 所需的工件。万一缺少任何一个,core、web 和 mvc 依赖项应该是这种情况我猜。
我开始学习 Spring 框架,几乎从一开始就遇到了一个问题:当我在 IntellijIDEA 中开发时,我发现配置 spring mvc 项目并不容易. 部署到 Glassfish 后,项目不断报错
java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException: Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener. Please see server.log for more details.
此外,在查看 Glassfish 日志时,我只看到:
org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
以及一堆类似的抛出异常。
这是我在 web.xml
中进行的上下文参数配置<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
这可以做什么? 这是 github 项目:https://github.com/vaano94/Project
这应该与编译时的依赖项解析无关,因为您可以编译项目并且项目描述符中的配置看起来非常好。
但是,当您收到一组 ClassNotFoundException
时,这意味着应用程序服务器无法在运行时找到一些 类,那些基本上与 Spring,所以你必须检查你的项目工件依赖关系。
在 Intellij IDEA 中:
- 打开项目配置视图:文件 -> 项目结构
- 导航到您的项目 Web 工件:项目设置 -> 工件 然后单击您的项目 exploded war神器.
- 在输出布局选项卡中,导航到库文件夹,即/WEB-INF/lib/ 并检查是否包含所有 Spring 所需的工件。万一缺少任何一个,core、web 和 mvc 依赖项应该是这种情况我猜。