想找一款,在 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
工具尽可能的不吃内存
|  |      1xscanqianmeng666      2024-01-24 16:34:39 +08:00 自己写 shell 脚本就可以 | 
|  |      2derdct      2024-01-24 16:35:29 +08:00 写个脚本? :( | 
|      3godleon OP @xscanqianmeng666  奈何自己不太会写 shell ,想问问有没有类似封装好的~ | 
|      4jjx      2024-01-24 16:37:47 +08:00 supervisor | 
|  |      5wxyrrcj      2024-01-24 16:39:16 +08:00 docker compose 不是很好写吗😪,你说的是 node 的 pm2 吧  nvm 是管理环境版本的。 | 
|      6superrichman      2024-01-24 16:40:20 +08:00 你都有 node 了,就用 pm2 管理 | 
|  |      7wxyrrcj      2024-01-24 16:40:29 +08:00 pm2 还写个配置文件呢  module.exports = { apps : [{ name : "frps-server", script : "./frpc -c ./frpc.ini" }] } java 写个 compose 怎么了 | 
|  |      8wxyrrcj      2024-01-24 16:41:08 +08:00 @superrichman 对对 给 jar 写个 pm2 的配置不就可以一键启动 了 | 
|      9lzrainchen      2024-01-24 16:43:47 +08:00 1.可以使用 shell 脚本管理,简单看下语法或者搜索一下也可以比较简单。2.可以使用系统的 systemd 进行管理,例如启停 nginx 。systemctl start 服务名。不管使用什么都需要学习一下,学会了以后就不怕了 | 
|  |      10aweim      2024-01-24 16:45:59 +08:00 需要管理 jar 吗? 利用 Jenkins 直接构建,发布不就可以了吗? Jenkins 上面写个 20 行的 shell 脚本。 | 
|  |      11aweim      2024-01-24 16:48:48 +08:00 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" | 
|  |      12lstz      2024-01-24 16:49:59 +08:00 via Android linux 写脚本随便怎么弄都可以,但是 windows 就不行了,光是命令行参数长度就够喝一壶了 | 
|  |      13cctv6      2024-01-24 16:57:12 +08:00 自带的 systemd? 复制一份 service 配置文件,配置好目录和启动命令。 systemctl start/stop/status/edit xxx 缺点是看不到端口,不过你可以把端口写在备注里,使用 status 的时候一样也能看到。 | 
|  |      14wxyrrcj      2024-01-24 17:00:11 +08:00 @lstz windows 可以用这个 https://www.wxy97.com/archives/39 | 
|  |      16mylovesaber      2024-01-24 19:24:18 +08:00  1 巧了,这东西用 shell 来实现我正在写,快写完了,但估计是没法公开,给组里用的,然后我之前尝试过纯 java 来写,也是可以实现的,你不会 shell 会 java 也可以啊,只需要把 alias jsc='java -jar' 添加到环境变量中,然后就可以用命令的方式控制 jar 包管理器了比如:jsc -Dstart 这种造型的都是可以的 | 
|      17jifengg      2024-01-25 08:58:32 +08:00 工作上用过 supervisor 和 pm2 ,都能实现需求。而且都不仅仅是 jar ,任何进程都能管理 | 
|  |      18fengche361      2024-01-25 10:16:26 +08:00 jenv |