介绍

打包有jar和war包两种方式。

jar包: SpringBoot官网提到最多的是使用jar打包,tomcat一起打进去了,直接java -jar …your.jar就可以了。

war包: 当你要部署到自己安装的weblogic、Tomcat里,这种传统方式通常使用war包。

打包操作

1.配置POM文件

修改SpringBoot的pom.xml文件,指定项目打包出来的名称。

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<!-- 打jar包类型-->
<packaging>jar</packaging>

<build>
    <!-- 指定打包的包名 -->
    <finalName>${project.artifactId}-${project.version}</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <!-- 使用 jdk 1.8 -->
                <source>8</source>
                <target>8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
2.执行打包命令

如提示"mvn 不是内部或外部命令",去配置下环境变量即可。想在idea里操作要以管理员方式启动idea。如果打包一直报错,检查settting.xml文件配置是否正确,有多余的空格。

  • mvn clean:删除 target 目录
  • mvn package:把 jar 打到本项目的 target 目录下
  • mvn install:把 jar 打到本项目的 target 目录下,之后再将它安装到本地的 maven 仓库中
  • -Dmaven.test.skip=true:跳过单元测试,也不编译测试用例类。
mvn clean package -Dmaven.test.skip=true

打包后jar包文件在target目录下。

3.阿里云启动服务

以下命令是后台启动服务,不需要记录linux的输出日志。(因为项目有自己配置的log文件)

nohup java -jar xxxx.jar >/dev/null 2>&1 &
或指定输出文件
nohup java -jar xxxx.jar > /opt/log/order-boot.out 2>&1 &
3.1 linux命令
  • 命令结尾没有 “&”:当前ssh窗口,可按CTRL + C打断程序运行,或者直接关闭窗口直接退出
  • 命令结尾有 “&” :表示在当窗口关闭时,程序才会中止运行。&代表让该命令在后台执行。
  • nohup … &:当退出或终端关闭时,程序仍然运行。所有输出被重定向到nohup.out的文件中。
  • /dev/null :Linux的特殊文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
  • 2>&1:将stdout(标准输出文件)和 stderr(标准错误文件) 合并后重定向到 /dev/null
3.2 Java命令
  • 修改端口命令:-Dserver.port=8090
  • 修部署文件命令:-Dspring.profiles.active=prod

操作服务状态
  • 查看项目启动情况:ps -ef |grep xxxx.jar
  • 停止服务器:kill -9 xxx
  • 启动服务器:systemctl start xxx
  • 停止服务器:systemctl stop xxx
  • 开机启动:systemctl enable xxx
  • 去掉开机启动:systemctl disable xxx