SpringBoot代码与jar包分离部署

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

首先配置pom.xml文件

  <build>
        <finalName>demo</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

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

SpringBoot代码与jar包分离部署

 

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

首先配置pom.xml文件

<build>
    <finalName>demo</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>com.liekkas.DemoApplication</mainClass>
                <layout>ZIP</layout>
                <includes>
                    <include>
                        <groupId>nothing</groupId>
                        <artifactId>nothing</artifactId>
                    </include>
                </includes>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

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

SpringBoot代码与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

 SpringBoot代码与jar包分离部署

 

上一篇:剑指Linux系列攻略------nohup组件


下一篇:Linux中标准输出和标准错误的重导向