繁体   English   中英

如何为Servlet 3.0配置Spring Boot 1.2.0并让m2e将Eclipse Facet设置为3.0?

[英]How to configure Spring Boot 1.2.0 for Servlet 3.0 and have m2e set Eclipse Facet to 3.0?

使用Spring Boot 1.2.0,m2e将Eclipse Project Facet“动态Web项目”设置为3.1。 这是预期的,因为Spring Boot 1.2.0最新支持Servlet Spec 3.1。

但是,我们需要使用3.0(Tomcat 7),因此我们根据Boot指令在POM中设置正确的属性:

<servlet-api.version>3.0.1</servlet-api.version>

但m2e仍然将Eclipse方面设置为3.1,而不是3.0。 问题是Eclipse不会将战争部署到Tomcat 7。

还有什么需要设置使m2e将方面设置为3.0,以便我们可以升级到Spring Boot 1.2.0?

这对我有用:

将tomcat版本添加到<properties>下的pom.xml中:

<tomcat.version>7.0.59</tomcat.version>

然后转到属性 - >项目构面,取消选中动态Web模块,然后单击确定或应用。 然后做Maven->更新项目......

动态Web模块版本应已更新至3.0

我找到了一个简单的解决方案:m2e-wtp通过查看web.xml(如果存在)或扫描特定servlet api类的类路径(当找不到web.xml时)来设置Eclipse项目web facet。

因此,要么在web.xml中设置servlet api版本,要么将POM属性设置为非servlet 3.1版本(例如,Spring Boot 1.1.10的版本是7.0.57)。 这两种方法都会导致m2e-wtp相应地设置facet。

我想知道是否有可能改进m2e-wtp的检测或配置,因为目前我不知道在这种配置中如何使用Tomcat 8和没有web.xml的servlet 3.0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM