idea和jar包都能正常运行,在tomcat10 + jdk17运行环境下提示servlet已注册,请教大神该如何解决 。附上报错信息:
Caused by: java.lang.IllegalStateException: Failed to register 'filter springSecurityFilterChain' on the servlet context. Possibly already registered?
at org.springframework.boot.web.servlet.DynamicRegistrationBean.register(DynamicRegistrationBean.java:122)
at org.springframework.boot.web.servlet.RegistrationBean.onStartup(RegistrationBean.java:52)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:236)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:192)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161)
楼主你好,看了你的问题,根据你的报错信息,是因为在ServletContext上已经注册了名字为'springSecurityFilterChain'的过滤器,导致注册失败。
很有可能是由于war包中的web.xml文件中已经注册了该过滤器,而在Spring Boot应用中也注册了该过滤器。
针对上述问题的解决方案,你首先要去确认war包中是否已经注册了该过滤器,如已注册则删除web.xml中的注册配置;然后再去确认Spring Boot应用中是否已经注册了该过滤器,如已注册则删除对应的注册配置。
如果上面操作步骤依然解决不了问题,你可以尝试去升级Spring Boot版本或者更换其他版本的Spring Security依赖,然后再试一次。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。