1.目的
找了半天都没找好的打包方式,网上很多粗糙的打包方式,我们只想要一个可运行jar包,就一个的这种。
2.操作
在pom加入
<profiles>
<profile>
<id>jdk18</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
<!-- jar -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
使用mvn命令进行安装
cd [project filepath]
mvn package
3.优雅的启动
nohup java -jar hand-2.0.1.RELEASE.jar >/dev/null 2>&1 &
关键在于最后的 >/dev/null 2>&1 部分,/dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉大海
/dev/null 表示将标准输出信息重定向到"黑洞"
2>&1 表示将标准错误重定向到标准输出(由于标准输出已经定向到“黑洞”了,即:标准输出此时也是"黑洞",再将标准错误输出定向到标准输出,相当于错误输出也被定向至“黑洞”)
4.查看进程
ps -ef | grep java
root 26602 26413 69 16:44 pts/0 00:00:19 java -jar hand-1.0-SNAPSHOT.jar
5.开放linux cent os 7服务端口
iptables -I INPUT -p tcp --dport 8302 -j ACCEPT
网友评论