通用jar包部署脚本
在《Linux下部署Spring Boot 项目 jar包》中,小编介绍了一步一步发布jar包的方法,这里提供一个通用Shell脚本,傻瓜式发布Spring Boot项目。
通过WinSCP把jar文件上传到服务器:
通用启动脚本
将通用Shell脚本命名为start.sh,并把脚本上传至jar所在目录, 脚本内容如下:
#######################
#脚本使用方法:
#把本脚本和jar包放在同一目录下,保证当前目录有且仅有一个jar包,无需修改任何东西。
#######################
CurrentPath=`pwd`
CurrentDirName=`basename $(pwd)`
if ls *.jar &> /dev/null ;then
if [ `ls *.jar | wc -l` -eq 1 ];then
APP_NAME=`find $CurrentPath -maxdepth 1 -name "*.jar"`
else
echo -e "\033[31m------ Error! Too Much JAR Packages In This Directory !\033[0"
exit 2
fi
else
echo -e "\033[31m------ Error! No JAR Package In Current File !\033[0"
exit 1
fi
is_exist() {
pid=`ps aux | grep $APP_NAME | grep -v grep | grep "jar$"| awk '{print $2}'`
if [ -z "$pid" ];then
return 1
else
return 0
fi
}
start () {
is_exist
if [ $? -eq 0 ];then
echo "${APP_NAME} is already running. pid=${pid} ."
else
nohup java -jar $APP_NAME &> nohup.$CurrentDirName &
fi
}
stop () {
is_exist
if [ $? -eq 0 ];then
kill $pid
else
echo "${APP_NAME} is not running"
fi
}
status () {
is_exist
if [ $? -eq 0 ];then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is not running"
fi
}
case $1 in
start)
start;;
stop)
stop;;
restart)
stop
start;;
status)
status;;
*)
echo "Usage: $0 {start|stop|status|restart} "
esac
执行通用shell脚本
在脚本所在目录,执行如下Linux命令即可启动项目:
sh start.sh start
关于本文内容,大家有什么看法?欢迎留言讨论,也希望大家多多点赞关注。楼兰胡杨祝各位生活愉快!工作顺利!
通用jar包部署脚本的更多相关文章
- jar包部署脚本
部署一个名为xxx的jar包,输出到out.log,只需要准备以下脚本start.sh #!/bin/sh echo " =====关闭Java应用======" PROCESS= ...
- springboot Jar包 部署到Linux服务器运行脚本
1.jar包同级目录 , 如下: #!/bin/sh RESOURCE_NAME=demo.jar tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep ...
- springboot之jar包部署步骤
eclipse中: 1.单击整个项目 run as - maven clean - maven install 2.找到项目所在的路径 找到所有的jar包 3.把jar包放到linux对应的文件夹 l ...
- windows环境jar包部署到linux服务器,一键操作
背景: windows系统下生成的jar包通过FTP上传到linux服务器,然后通过XShell进行jar包的发布,这样反复了几个月后,开发阶段需要频繁更新包的部署.个人觉得很繁琐,想一键式把这个工作 ...
- springboot的jar包部署
由于springboot常用war包部署,改为cloud开发模式多端口情况下,部署反而不习惯 毕竟,war包要不要项目名访问都必须放在tomcat的root目录下 而此目录限制只能放置一个项目,并且登 ...
- Springboot中如何引入本地jar包,并通过maven把项目成功打包成jar包部署
最近尝试引入阿里云的短信验证码,阿里云的core sdk是maven就有的,但是短信相关的jar包却不是放在maven的,所以得引入本地的下载回来的jar包.本地开发直接引入,idea是可以直接跑调用 ...
- 自己挖的坑自己填-- maven打jar包部署服务器报错
1.今天 mvn install 后把 jar 包部署到服务器上,执行 java -jar xx.jar 报 "no main manifest attribute,in xx.jar&qu ...
- 如何发布本地maven项目jar包部署到nexus私服?
首先在我们的pom里面描述我们要部署的地址: <distributionManagement> <repository> <id>release</id> ...
- 运行jar包shell脚本
#!/bin/sh #该文件必须放在jar包的目录下,因为是以相对路径来运行的.不放jar包目录的话,可以直接在jar_name参数写绝对路径 #start 设置三个参数 #环境 profile=te ...
- Dubbox本地 JAR包部署与安装
Dubbox的jar包并没有部署到Maven的中央仓库中,大家在Maven的中央仓库中可以查找到Dubbo的最终版本是2.5.3 , 阿里巴巴解散了Dubbo团队后由当当网继续维护此项目,并改名为 D ...
随机推荐
- 【Abaqus Case】2D弹塑性接触分析
2D 弹塑性-接触分析 本案例属于材料非线性+边界条件非线性 问题描述 前处理 材料 *Material, name=steel *Density 7.8e-09, *Elastic 210000., ...
- Qt使用QAudioInput、QAudioOutput实现局域网的音频通话
Qt使用QAudioInput.QAudioOutput实现局域网的音频通话 本文旨在介绍一下用Qt来实现局域网音频通话功能 文章目录 Qt使用QAudioInput.QAudioOutput实现局域 ...
- 解决 /usr/bin/env: php: No such file or directory 问题
前言 composer 报错 env: php: No such file or directory 找不到 php 的执行文件,原因是脚本文件 env 会通过 $PATH 所指定的路径去寻找 php ...
- C++ 常用转换API记录
//wstring转string std::string wstring2string(IN std::wstring& wstr) { std::string result; //获取缓冲区 ...
- elementui|dropdown|下拉菜单作为模态框使用
elementui|dropdown|下拉菜单作为模态框使用 背景 场景:下拉菜单作为模态框使用: 操作:下拉菜单设置触发条件点击展示/隐藏:trigger="click" 目的: ...
- git 访问方式浅谈
小小总结下git的访问方式,留爪. git访问方式简介 https:每次fetch/push/pull都需要输入username & password ssh:通过ssh-keygen生成的公 ...
- Visual Studio 2022 v17.13新版发布:强化稳定性和安全,助力 .NET 开发提效!
前言 今天大姚带领大家一起来看看 Visual Studio 2022 v17.13 新版发布都更新了哪些新功能,为我们开发工作带来了哪些便利,是否真的值得我们花费时间把 Visual Studio ...
- MySQL 数据库的性能优化方法有哪些?
MySQL 数据库性能优化是提高数据库响应速度和处理能力的重要手段.性能优化可以从多个层面入手,涵盖数据库设计.查询优化.硬件资源优化.配置调整等方面.以下是 MySQL 数据库常见的性能优化方法: ...
- 解密prompt系列53. 再谈大模型Memory
上一章畅想里面我们重点提及了大模型的记忆模块,包括模型能否持续更新记忆模块,模型能否把持续对记忆模块进行压缩更新在有限的参数中存储更高密度的知识信息,从而解决有限context和无限知识之间的矛盾.这 ...
- Laravel RCE(CVE-2021-3129)漏洞复现
Laravel框架简介 Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且 ...