1、技术概述
Jar打包springboot部署到服务器,Springboot框架使用内嵌的Servlet容器如Tomcat,Netty等,无需以war包形式部署项目。通过独立运行jar,可以很快部署准生产级别的项目。难点在于一直碰壁,存在许多容易忽视的地方。
2、技术详述
流程图:
首先,如果没有在pom.xml文件中修改默认的package的话,默认就是以jar方式打包,(如果之前有修改,将war改为jar即可)。
然后点击Maven-package,如下图。注意选择打包时跳过测试。
之后会在target目录下找到打包之后的jar文件,然后通过Xftp上传至云服务器的自定义的目录下
输入命令之后就会出现如图所示,程序已经启动,之后在浏览器中输入 远程服务器的地址:在application.properties中设置的端口/jar包名/主页。
3、技术使用中遇到的问题和解决过程
一开始使用war时候,会发现内存过低,tomcat会自动关闭,因此
收财力局限,选择jar打包,需要注意:
- 注意所用端口号是否已在安全组开放
- 记得安装数据库时,数据库的初始化
- 页面不放在WEB-INF下面(出现404)
页面是html,在webapp下,Springboot寻找页面时路径未指定,在pom.xml下添加代码
<build>
<resources>
<resource>
<!-- 打包时将jsp文件拷贝到META-INF目录下-->
<!-- 指定resources插件处理哪个目录下的资源文件 -->
<directory>src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到-->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
</build>
4、进行总结
- jar包部署方式使用Spring Boot 自带的Tomcat,因为Spring Boot 应用自带Tomcat,所以可直接在服务器运行jar文件
- war包部署方式则使用云服务器里的Tomcat,此时需要移除Spring Boot 自带的Tomcat插件
- 部署过程中经常出现拆东墙补西墙的操作,因此应该明确明白自己在干什么,不应照抄照做。