想找一款,在 Linux 环境下,可以管理 jar 包的工具,例如 配置好 jar 的命令后,可以一个命令 启动或者停止,多个 jar 或者 单个 jar ;
有点类似,node 的管理 nvm, 例如 nvm install xxx 、nvm use xxx 、nvm list;
例如工具命令行为 xxx
启动命令 xxx start jar1,jar2,jar3
停止命令 xxx stop jar1,jar2,jar3
设置某个 jar 的启动命令。xxx set jar1: java -jar -Xms -Xmx ...
查看运行的 jar 能看到端口 命令 pid
只需要命令行就可以,不需要 GUI 页面
pass docker k8s ,
docker 还需要写 docker file compose ;
k8s 更不要说了,太重了;
只想要单纯的管理一些 jar
工具尽可能的不吃内存
1
xscanqianmeng666 311 天前
自己写 shell 脚本就可以
|
2
derdct 311 天前
写个脚本? :(
|
3
godleon OP @xscanqianmeng666 奈何自己不太会写 shell ,想问问有没有类似封装好的~
|
4
jjx 311 天前
supervisor
|
5
wxyrrcj 311 天前
docker compose 不是很好写吗😪,你说的是 node 的 pm2 吧 nvm 是管理环境版本的。
|
6
superrichman 311 天前
你都有 node 了,就用 pm2 管理
|
7
wxyrrcj 311 天前
pm2 还写个配置文件呢
module.exports = { apps : [{ name : "frps-server", script : "./frpc -c ./frpc.ini" }] } java 写个 compose 怎么了 |
8
wxyrrcj 311 天前
@superrichman 对对 给 jar 写个 pm2 的配置不就可以一键启动 了
|
9
lzrainchen 311 天前
1.可以使用 shell 脚本管理,简单看下语法或者搜索一下也可以比较简单。2.可以使用系统的 systemd 进行管理,例如启停 nginx 。systemctl start 服务名。不管使用什么都需要学习一下,学会了以后就不怕了
|
10
aweim 311 天前
需要管理 jar 吗? 利用 Jenkins 直接构建,发布不就可以了吗? Jenkins 上面写个 20 行的 shell 脚本。
|
11
aweim 311 天前
echo "ssh 连接进行备份操作"
ssh -Tq -oStrictHostKeyChecking=no user1@${server_ip} <<EOF mkdir -p $DIR/backup/${projectName} mkdir -p $DIR/${projectName} if [ -f "$DIR/${projectName}/${projectName}.jar" ];then mv $DIR/${projectName}/${projectName}.jar $DIR/backup/${projectName}/${projectName}-`date "+%Y%m%d_%H%M%S"`.jar fi EOF echo "拷贝 jar 包到目标服务器的 tmp 目录" scp -q -oStrictHostKeyChecking=no ${WORKSPACE}/target/*.jar use1@${server_ip}:/xxx/xxx/${projectName}.jar echo "ssh 远程连接进行发布操作" ssh -q -oStrictHostKeyChecking=no user1@${server_ip} <<EOF mv /xxx/xxx/${projectName}.jar $DIR/${projectName}/${projectName}.jar echo "copy jar success" echo "开始部署远程服务器" echo "先停止服务${projectName}" sh $DIR/${projectName}/stop.sh echo "启动服务${projectName}" sh $DIR/${projectName}/start.sh EOF done echo "success" |
12
lstz 311 天前 via Android
linux 写脚本随便怎么弄都可以,但是 windows 就不行了,光是命令行参数长度就够喝一壶了
|
13
cdlnls 311 天前
自带的 systemd? 复制一份 service 配置文件,配置好目录和启动命令。
systemctl start/stop/status/edit xxx 缺点是看不到端口,不过你可以把端口写在备注里,使用 status 的时候一样也能看到。 |
14
wxyrrcj 311 天前
@lstz windows 可以用这个 https://www.wxy97.com/archives/39
|
16
mylovesaber 311 天前 1
巧了,这东西用 shell 来实现我正在写,快写完了,但估计是没法公开,给组里用的,然后我之前尝试过纯 java 来写,也是可以实现的,你不会 shell 会 java 也可以啊,只需要把
alias jsc='java -jar' 添加到环境变量中,然后就可以用命令的方式控制 jar 包管理器了比如:jsc -Dstart 这种造型的都是可以的 |
17
jifengg 311 天前
工作上用过 supervisor 和 pm2 ,都能实现需求。而且都不仅仅是 jar ,任何进程都能管理
|
18
fengche361 311 天前
jenv
|