【问题标题】:Exception Tomcat with Spring Security带有 Spring Security 的异常 Tomcat
【发布时间】:2014-07-31 18:52:18
【问题描述】:

当我尝试将这些依赖项添加到我的 pom.xml 时:

<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.2.4.RELEASE</version>
</dependency> 

然后我启动Tomcat,出现这个错误:

Grave: Error listenerStart
lug 31, 2014 10:57:10 AM org.apache.catalina.core.StandardContext startInternal
Grave: Context [/MyApp] startup failed due to previous errors
lug 31, 2014 10:57:10 AM org.apache.catalina.core.ApplicationContext log
Informazioni: Closing Spring root WebApplicationContext
lug 31, 2014 10:57:10 AM org.apache.catalina.core.StandardContext listenerStop
Grave: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
    at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:171)
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1090)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1064)
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010)
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:558)
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143)
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5014)
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5659)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

怎么了?我在 WEB-INF\lib 下没有 jar,但它们都在 maven 文件夹下,我已经将 3.2.2.RELEASE 用于 spring-core/web/contetext。 感谢您的帮助。

【问题讨论】:

  • 在重新启动之前尝试清理您的服务器。
  • 已经完成。但是例外。
  • 这是唯一的例外?堆栈跟踪没有任何进一步的内容?

标签: java maven spring-security apache-tomee


【解决方案1】:

[已解决] 在我的 spring-security.xml 中,版本错误:

xsi:schemaLocation="http://www.springframework.org/schema/security/spring-security-3.1.xsd">

它必须是:

xsi:schemaLocation="http://www.springframework.org/schema/security/spring-security-3.2.xsd">

谢谢@Ben Green。

【讨论】:

    猜你喜欢
    • 2023-01-30
    • 2011-07-19
    • 1970-01-01
    • 2012-09-25
    • 2013-07-04
    • 2013-10-08
    • 2022-12-11
    • 2023-02-10
    • 1970-01-01
    相关资源
    最近更新 更多