如何创建可部署的springboot war

时间:2016-02-09 14:57:33

标签: maven tomcat deployment spring-boot war

我正在尝试创建一个部署在Tomcat中的maven spring boot应用程序。我遵循Spring文档和其他stackoverflow建议中的建议 - war,Application.java扩展SpringBootServletInitializer,从构建插件中删除spring-boot-maven-plugin等。生成war文件并部署在tomcat中。但我发现所有静态文件都打包在/ WEB-INF / classes文件夹下,我无法访问该页面。我的项目结构如下:

structure

任何人都可以告诉我如何正确打包战争以在Tomcat中部署。

2 个答案:

答案 0 :(得分:2)

这并没有改变任何事情。

如果您将静态资产放在src/main/resources/static中(并且它们最终位于WEB-INF/classes/static),Spring Boot将正确地为它们提供服务。因此,如果您的网络营销的上下文为src/main/resources/static/foo.png,则http://localhost:8080/your-context/foo.png将提供your-context

关于配置,你也可以继续使用start.spring.io,点击高级并选择war,你就可以预先配置一个空项目。

或者您可以点击:https://start.spring.io/#!packaging=war

答案 1 :(得分:0)

问题是由于版本问题。我使用Java 8编译了应用程序,并将其部署在JRE 7下运行的tomcat中。它可以帮助遇到同样问题的人。 我从下面的帖子中得到了线索: Spring boot war file deploy on Tomcat