猿问

在 Tomcat 6 中部署 Spring Boot 应用程序(传统部署)

我试图在tomcat 6中部署一个弹簧引导应用程序(war)(当在tomcat 7和更早版本中部署时,我没有问题),实际上在tomcat 6(servlet 2.5)中部署是不可能的,使用新方法(我会把描述新方式的链接放在底部),因为Spring Boot使用Servet 3.0 API来初始化ServletContext(注册Servlets等),所以你不能使用相同的应用程序。Servlet 2.5 容器中的框。


我在文档中找到的春季部署解决方案(我将链接放在底部)是添加web.xml。


现在,当我在部署后发送请求时,我收到此错误:


org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'metricFilter' available

at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:687)

at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1207)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)

at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1086)

at org.springframework.web.filter.DelegatingFilterProxy.initDelegate(DelegatingFilterProxy.java:327)

at org.springframework.web.filter.DelegatingFilterProxy.initFilterBean(DelegatingFilterProxy.java:235)

at org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:236)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)

at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:424)

at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)



拉丁的传说
浏览 171回答 1
1回答

www说

您正在尝试部署到Tomcat 6,从而违反了Spring Boot的要求。即使您破解应用程序以启动某些内容,以后也可能会中断。由于您使用的是Spring Boot 1.5.9.RELEASE,因此文档清楚地提到了它:Tomcat 7 和 8.0 可与 Spring Boot 配合使用,但默认使用 Tomcat 8.5。如果您无法使用 Tomcat 8.5(例如,因为您使用的是 Java 1.6),则需要更改类路径以引用其他版本。Tomcat 6是遗留的,运行它是一种安全风险。它的安全支持已于 2016 年 12 月 31 日结束,自 2017 年 3 月 30 日起,您无法下载它。升级您的雄猫版本。
随时随地看视频慕课网APP

相关分类

Java
我要回答