Linux上java-jar Spingboot项目

news/2024/10/2 20:29:59

百度的,后面再补一个Linux文档操作手册,是不是很大胆?

准备工作

1、首先得有两个软件Xftp(用来上传文件到)和XShell(连接服务器执行命令)

2、Linux上有JDK(怎么安装可以转到Linux安装JDK流程)

3、项目的JAR包

项目jar包

导jar

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

命令行中运行

mvn clean package

去项目文件的target文件夹下面找到jar包就行

如果mvn clean package找不到mvn命令,可能是:

maven没有配置系统环境变量

确保下载过Maven,直接在电脑的 设置 里面搜索 编辑系统环境变量,打开后:

1、在系统变量里面新增MAVEN_HOME 值是安装路径E:\apache-maven-3.8.2-bin\apache-maven-3.8.2

2、找到path新增 %MAVEN_HOME%\bin

记得clean

开始运行

# 发布在服务器上面了肯定是想着长期的运行了,所以使用nohup
# nohup 是Unix命令,可以让程序在后台不受挂起信号影响的情况下继续运行
# java -jar xxx.jar 是运行Java 应用程序
# > 是 重定向 标准输出到文件的符号
# log.file 是日志输出文件名字
# 2>&1 是将标准错误也 重定向 到标准输出(在这里是 log.file 文件)。注意: 0-标准输入, 1-标准输出, 2-标准错误
# & 是将命令放入后台执行
nohup java -jar xxx.jar > log.file 2>&1 &# 如果想短时间测试使用的话
java -jar xxx.jar &
# 如果想终端退出时终止(退出时会发送 hangup 信号来通知其关闭所有子进程)
hangup java -jar xxx.jar &

终止程序

# 先查出运行程序的PID,查出来第二个参数就是PID
ps -aux | grep java
# 终止命令,我业务场景比较简单,直接根据PID来kill就完事了
kill -9 xxx
# 使用kill命令时,最好先尝试SIGTERM,这是一个优雅关闭的信号,让应用程序有机会清理后台线程和资源。如果进程不响应那还是直接kill吧,不过强制关闭方式,可能会导致数据丢失或者其他问题
kill -SIGTERM xxx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/44748.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

敏捷开发时代,彻底结束了

精益一直是DevOps的核心,就像敏捷是从精益中生长出来一样。最近,我收到一位读者的私信,他最近“内耗”得非常厉害,他可能一时兴起把我的私信当作了吐槽箱。 他们公司一直实行敏捷的管理模式,复盘发现了一个问题:发布与迭代具有强相关性,一个迭代就发布一次,导致需求交付…

上周面了百度,问的很细~

上周刚刚面了百度,问的问题不算很难,但却很细,我把这些面试题和答案都整理出来了,一起来看吧。 重点介绍一个你觉得有意义的项目? 回答技巧和思路:介绍的项目业务难度和技术难点要高一些,最好是微服务项目。 简明扼要的讲清楚项目核心板块的业务场景即可,切忌不要讲的太…

wpa_supplicant --- WIFI 配置工具

wpa_supplicant是一个连接、配置WIFI的工具,它主要包含wpa_supplicant与wpa_cli两个程序。wpa_supplicant是服务端,wap_cli是客户端,一般情况下通过 wpa_cli 操作WiFi。如果有特殊的需要,可以编写应用程序直接调用wpa_supplicant的接口直接开发。wpa_supplicant框架如下: …

JMETER 5.+ 内存不足或者修改堆内存方法

一切答案其实官方的文档里:https://jmeter.apache.org/usermanual/get-started.html 在bin目录下新建setenv.sh或者bat文件配置jvm参数,它的优先级高于jmeter脚本,覆盖该脚本参数。Linux: 可能需要设置一些环境变量来配置 JMeter 使用的 JVM。这些变量可以直接在启动jmeter…

c# .Net 对象池

对象池就是对象的容器,旨在优化资源的使用,通过在一个容器中池化对象,并根据需要重复使用这些池化对象来满足性能上的需求。当一个对象被激活时,便被从池中取出。当对象被停用时,它又被放回池中,等待下一个请求。 对象池一般用于对象的初始化过程代价较大或使用频率较高的…

VScode配置 Django项目 使用应用下的tests.py测试

文件目录tests.py import os import sys from pathlib import Path# Add base directory to PYTHONPATH if __name__ == "__main__":os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MyshopBack.settings")BASE_DIR = Path(__file__).resolve…

悬浮贴样式

悬浮贴样式 悬浮贴样式效果图如下:预览地址:https://www.cnblogs.com/leo130-blogs/p/18251987html语句: <div class="sticker" ><div class="sticker-title"></div><div class="sticker-detail"><div class="…

OpenCV + sklearnSVM 实现手写数字分割和识别

这学期机器学习考核方式以大作业的形式进行考核,而且只能使用一些传统的机器学习算法。 综合再三,选择了自己比较熟悉的MNIST数据集以及OpenCV来完成手写数字的分割和识别作为大作业。1. 数据集准备MNIST数据集是一个手写数字的数据库,包含60000张训练图片和10000张测试图片…