Spring Boot WAR部署

时间:2019-04-30 20:28:35

标签: java spring spring-boot

无论我要创建Servlet 3.1还是4.0 Web应用程序,如何在Spring 2.1.4 Boot应用程序(打包为WAR)中进行控制。通常,当使用web.xml Web应用程序描述符时,Web应用程序上的属性将宣布所使用规范的版本。在没有web.xml的Spring WebApplicationInitializer应用程序中(我就是这种情况),没有这样的广告。

仅使用Servlet 3.1功能并将其部署到容器中并希望它能够工作就可以了吗?

2 个答案:

答案 0 :(得分:1)

由于Servlet 3和Java EE 6引入了诸如web.xml@WebServlet@WebFilter之类的注释,因此@WebListener文件是可选的。

但是,无法使用WebApplicationInitializerweb.xml之外声明此信息,因此无论如何都必须包括文件并指定版本。

答案 1 :(得分:0)

发布此问题超过一年后,我发现maven通过声明为依赖项的特定API的存在来做出这种确定。例如,如果您在Pom文件中具有javax.servlet:javax.servlet-api:4.0.1依赖关系,则maven将假定为servlet 4.0容器。我相信Spring Boot不支持此功能,但我认为应该支持。附带说明,M2eclipse插件也可以这种方式工作