SpringBoot代码与jar包分离部署


第一步,打出带有jar包的SpringBoot工程

首先配置pom.xml文件

  <build>
        <finalName>demofinalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
        plugins>
    build>

执行mvn package 命令打出jar包,然后解压jar包,把lib放到合适的目录下面

第二步:打出不带jar包的SpringBoot工程

首先配置pom.xml文件

<build>
    <finalName>demofinalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
            <configuration>
                <mainClass>com.liekkas.DemoApplicationmainClass>
                <layout>ZIPlayout>
                <includes>
                    <include>
                        <groupId>nothinggroupId>
                        <artifactId>nothingartifactId>
                    include>
                includes>
            configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackagegoal>
                    goals>
                execution>
            executions>
        plugin>
    plugins>
build>

然后执行命令 java -Dloader.path=/tmp/lib -jar /tmp/demo.jar

附录

Linux 运行jar包命令如下:

第一种:

java -jar XXX.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

第二种

java -jar XXX.jar &
&代表在后台运行。
特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

第三种

nohup java -jar XXX.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

第四种

nohup java -jar XXX.jar >temp.txt &
解释下>temp.txt
command >out.file
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
可通过jobs命令查看后台运行任务
jobs
那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。
例如:fg 10