前言:uos基于linux操作系统,所以很多指令都是相似的,需要上传springboot的jar包到服务上运行,这里只使用基础指令(没有使用docker,这个可以去了解,大多数情况都是使用容器技术部署),文章中指出了我遇到的很多的坑。
1、java -jar 命令(在uos中表示把项目放到前台运行,ctrl + c 以及服务器超时断开连接,项目自动结束,不推荐)
java -jar demo.jar
2、nohup(把jar项目放到后台运行,不受其他因素影响),-Dserver.port=8082属于jvm指定端口运行,uos系统中不指定就报端口被占用错误(原因未知)问题解决。
-
nohup
: 这是一个命令,用于在后台运行命令,即使当前终端关闭也不会影响该命令的执行。这样可以让 Java 应用程序在后台持续运行。 -
java
: 这是用于运行 Java 应用程序的命令。 -
-Dserver.port=8082
: 这是 Java 虚拟机(JVM)的启动参数,用于设置一个名为server.port
的系统属性,并将其值设为8082
。通过这个参数,可以指定应用程序监听的端口号为8082
。 -
-jar hb-emergency_warning.jar
: 这部分指定要运行的 Java 应用程序的 JAR 文件是hb-emergency_warning.jar
。-jar
选项告诉 Java 命令要运行的是一个 JAR 文件。 -
> temp.txt
: 这部分将标准输出重定向到名为temp.txt
的文件中。这意味着应用程序的输出将被写入到temp.txt
文件中,而不是显示在终端上。 -
2>&1
: 这部分将标准错误输出(stderr)重定向到标准输出(stdout)。这样做可以确保标准错误输出也被写入到temp.txt
文件中。 -
&
: 在命令的末尾使用&
符号表示将命令放入后台执行,这样终端就不会被该命令占用,你可以继续在终端上执行其他操作。
nohup java -Dserver.port=8082 -jar demo.jar > temp.txt 2>&1 &