一、先搭建一个父子工程项目,springboot项目
父pom
<groupId>com.xxx</groupId>
<artifactId>fzjar</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>zi</module>
</modules>
<properties>
<spring-boot.version>2.3.3.RELEASE</spring-boot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
子pom
<parent>
<artifactId>fzjar</artifactId>
<groupId>com.sjy</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>zi</artifactId>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>zi</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 指定版本 才可以使用repackage-->
<version>2.3.3.RELEASE</version>
<configuration>
<!-- 指定该Main Class为全局的唯一入口 -->
<mainClass>com.xxx.zi.Application</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
发现打包插件中的repackage一直标红,即使按照网上说的指定低版本的spring-boot-maven-plugin也还是报红,不过实际打包没有影响(暂时没有找到解决标红的方法)
二、执行clean,package得到jar包
三、执行jar
java -jar zi.jar 执行后如下,关闭之后,java应用程序也会被关掉
所以使用后台运行的命令
nohup java -jar xxx.jar &
nohup 命令启动(概念:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程)
& 后台运行
提示:
原因:使用 nohup 会产生日志文件,默认写入到 nohup.out
解决:
将 nohup 的日志输出到 /dev/null,这个目录会让所有到它这的信息自动消失
nohup java -jar zi.jar > /dev/null 2> /dev/null &