我正在尝试创建一个部署在Tomcat中的maven spring boot应用程序。我遵循Spring文档和其他stackoverflow建议中的建议 - war,Application.java扩展SpringBootServletInitializer,从构建插件中删除spring-boot-maven-plugin等。生成war文件并部署在tomcat中。但我发现所有静态文件都打包在/ WEB-INF / classes文件夹下,我无法访问该页面。我的项目结构如下:
任何人都可以告诉我如何正确打包战争以在Tomcat中部署。
答案 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,你就可以预先配置一个空项目。
答案 1 :(得分:0)
问题是由于版本问题。我使用Java 8编译了应用程序,并将其部署在JRE 7下运行的tomcat中。它可以帮助遇到同样问题的人。 我从下面的帖子中得到了线索: Spring boot war file deploy on Tomcat