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插件
-
部署过程中经常出现拆东墙补西墙的操作,因此应该明确明白自己在干什么,不应照抄照做。
5、参考文献、参考博客
-
标题 | 作者 | 链接 |
---|---|---|
部署SpringBoot到阿里云 | 两小无猜 | https://www.cnblogs.com/charlottepl/p/12661542.html |
springboot项目打包部署到阿里云 | YO_RUI | https://blog.csdn.net/qq_34975710/article/details/83989642 |
SpringBoot 项目部署到服务器上(Jar包) | 雨落本无晴 | https://blog.csdn.net/qq_33378853/article/details/88733165 |