linux打jar包xml文件,springboot打jar包部署外置配置文件
一、读取配置文件的优先级
默认:
Jar包同级目录的config目录
Jar包同级目录
classPath(即resources目录)的config目录
classpath目录
最高优先级的方式是项目启动时通过命令的方式指定项目加载核心配置文件,命令如下
java –jar xxxx.jar -Dspring.config.location=xxx/xxx/xxxx.properties
如果Spring Boot在优先级更高的位置找到了配置,那么它会无视优先级更低的配置
二、编写执行脚本
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=rcs-report-0.0.6-SNAPSHOT.jar
JVM="-server -Xms512m -Xmx512m -XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"
APPFILE_PATH="-Dspring.config.location=/apps/report_test/config/application-uat.yml"
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
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 $JVM -jar $APPFILE_PATH $APP_NAME > /dev/null 2>&1 &
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $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
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
2.1、使用脚本启动项目
sh ***.sh start
sh ***.sh stop
sh ***.sh restart
sh ***.sh status
注意点
1、如果脚本是在window系统写好,接入linux系统执行脚本时会报错:
$’\r’: 未找到命令
解决:
yum install dos2unix
dos2unix **.sh 进行转换
再次执行即可
2、如果jar包和脚本不在同一路径,需要在脚本中添加切换路径命令
三、修改xml文件
打jar包不打yml文件,确保在启动项目时不会读取jar内的yml文件
org.apache.maven.plugins
maven-jar-plugin
3.2.0
application.yml
linux打jar包xml文件,springboot打jar包部署外置配置文件相关推荐
- linux修改key文件夹,linux 中如何根据xml文件的key来修改value呢?
源自:4-4 Linux中 grep命令 linux 中如何根据xml文件的key来修改value呢? 有个xml文件(server.xml)比如: .... 请问该如何获取加粗的 style=& ...
- java jar包资源文件_深入jar包:从jar包中读取资源文件
我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看 ...
- linux服务器无法识别xml文件,linux上重启服务器提示找不到smartbi-config.xml文件
(本文档仅供参考) 问题 服务器上重启服务时,报了如下错误信息: (备注:因安全考虑,新版本的config登录界面已经不展示config文件的加载路径了.) 解决方案 原因一: 这是一个关于在哪个路径 ...
- Linux环境下——实现xml文件解析
目录 libxml简介 libxml库安装 libxml2中的数据类型和函数 xml文档解析实例 运行结果 libxml简介 libxml是一个用于解析xml文件的库,在各个平台下都能使用,也支持多种 ...
- web.xml文件中的web-app元素 部署
[转载]web.xml文件中的web-app元素 (2012-05-24 13:35:57) 转载▼ 标签: 转载 分类: java 挺全 的 呵呵呵 转了 原文地址:web.xml文件中的web-a ...
- linux启动jar后回到根目录,SpringBoot 打包 Jar 启动后,获得jar包所在目录,SpringBoot获取根目录...
获取根目录五种方法 //第一种 File path = new File(ResourceUtils.getURL("classpath:").getPath()); if (!p ...
- maven创建SSM(Spring + Spring MVC +Mybatis)项目时的porn.xml文件下各个依赖包的作用
从上到下依次进行说明 首先是这个: <properties><project.build.sourceEncoding>UTF-8</project.build.sour ...
- docker运行jar包_Jenkins+Docker+Springboot单机版持续集成部署
Jenkins+Docker+SpringBoot持续集成流程说明 安装配置jenkins 安装jenkins可直接官网下载对应的jar包直接运行,也可使用docker运行,下载完后直接运行,并下载d ...
- pom.xml文件引入tools.jar
最近做hbase开发时,引入相关jar包后,出现了以下错误 Missing artifact jdk.tools:jdk.tools:jar:1.8 绝对地址引用 <dependency> ...
最新文章
- LinuxMint 14 更新源(能成功的!)
- View的setOnClickListener的添加方法
- 蘑菇街2019校招题目总结
- RocketMQ(六)—IndexFile详解
- bond解除 centos7_centos7上实现bonding
- Linux目录下有剩余空间,但无法写入数据
- 剑指offer——32.从上到下打印二叉树
- python画字母代码_字母大小写如何python3中用代码表示?
- 使用VSCode编写LaTeX
- 理解函数:对象(this,arguments),方法(apply(),call(),bind())。
- 【SQL基础-4】SQL语句练习实例—在SQLzoo平台练习
- ms17010批量扫描备忘
- 你负债了吗? 聊聊“去杠杆”!
- 末日的传说 洛谷p1338
- 漫游计算机英语,计算机系统漫游
- php tp5修改语句,tp5修改(实现即点即改)
- 解读Tapestry5.1——页面渲染
- 阿里内核月报:2017年05月
- Pandas常用方法一
- 引起进程调度的原因有以下几类
热门文章
- Java访问静态常量_Java如何在Spring EL中访问静态方法或常量?
- kodi pvr 不能安装_「保姆级教程」家庭影音多媒体中心第5节—KODI18安装/设置IPTV...
- C语言 函数指针和指针函数区别 - C语言零基础入门教程
- BugkuCTF-MISC题好多数值
- 卸载源码安装mysql_CentOS7下源码安装MySQL5.7.6+
- strlen函数strcpy函数strcat函数的实现
- http请求 url 竖线_http.createServer创建http服务
- rrt算法流程图_RRT算法移动机器人路径规划(快速扩展随机树).pdf
- cstring移除指定字符串_从String中移除空白字符的多种方式!?差别竟然这么大!...
- suse11安装python_suse linux 安装python Eric4