springboot前后端分离项目后台单独打成war包部署到centos上所遇到的问题与解决方案
springboot前后端分离项目后台单独打成war包部署到centos上所遇到的问题与解决方案
注册与开通****已经有好多年头了,一直没有写过文章,可能随着年龄的增长感觉要写点什么,毕竟雁过留声人过留名,哈哈哈~~~
废话不多说了,言归正传,公司接了个项目,里面有集成海康视频这块的模块,作为后端开发者,决定使用springboot作为技术框架,因为这边都是海康提供API的,只要对照着写接口就行,下面来说如何打成war且发布到linux服务器上的
主要在本地要做三处修改,首先在主入口也就是启动类那块,要加上@ServletComponentScan注解,并且继承SpringBootServletInitializer ,至于为什么,感兴趣者可以研究,反正就得这么改~
三处红色框框为添加处,由于第一次写贴,就直接上图片方便。
再者就是修改pom.xml文件,第一处把packaging换成war包形式 没有的话自己添上,
第二处:spring-boot-starter-tomcat修改为 provided方式,以避免和独立 tomcat 容器的冲突.
表示provided 只在编译和测试的时候使用,打包的时候就没它了。
接下来进行本地打包,idea右边选择maven,先选择一下clear(可以不选,直接第二步)接着选择package
这样就在 target 目录下 生成了一个 springboot-0.0.1-SNAPSHOT.war 文件,当然到此为止可以直接把这个war包放到服务器上的tomcat下的webapps下面即可,但为了不用输入项目名可做以下修改 把这个文件重命名为 ROOT.war 然后把它放进tomcat 的webapps目录下。
注: ROOT.war 并不是指访问的时候要使用 /ROOT/hello ,而是直接使用/hello 进行访问,ROOT表示根路径。
到此为止即可访问我们的项目,当然也查阅了不少其他作者的资料,感谢前辈们,正所谓站在巨人的肩膀上看的更远,哈哈哈哈!