1、技术概述

Jar打包springboot部署到服务器,Springboot框架使用内嵌的Servlet容器如Tomcat,Netty等,无需以war包形式部署项目。通过独立运行jar,可以很快部署准生产级别的项目。难点在于一直碰壁,存在许多容易忽视的地方。

2、技术详述

流程图:

java项目jar包要放到服务器哪个目录下 jar包怎么部署到服务器_服务器

首先,如果没有在pom.xml文件中修改默认的package的话,默认就是以jar方式打包,(如果之前有修改,将war改为jar即可)。

然后点击Maven-package,如下图。注意选择打包时跳过测试。

java项目jar包要放到服务器哪个目录下 jar包怎么部署到服务器_jar包_02

之后会在target目录下找到打包之后的jar文件,然后通过Xftp上传至云服务器的自定义的目录下

java项目jar包要放到服务器哪个目录下 jar包怎么部署到服务器_jar_03

输入命令之后就会出现如图所示,程序已经启动,之后在浏览器中输入 远程服务器的地址:在application.properties中设置的端口/jar包名/主页。

java项目jar包要放到服务器哪个目录下 jar包怎么部署到服务器_jar包_04

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插件
  • 部署过程中经常出现拆东墙补西墙的操作,因此应该明确明白自己在干什么,不应照抄照做。