1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > springboot 打jar 包部署时 读取外部配置文件

springboot 打jar 包部署时 读取外部配置文件

时间:2023-02-04 18:06:59

相关推荐

springboot 打jar 包部署时 读取外部配置文件

案例:本文主要描述linux系统执行jar包读取jar包同级目录的外部配置文件

方法一:相对路径设置配置文件

(1)在jar包同级目录创建配置文件conf.properties并写入配置数据:

confData=data

1

(2)开始写入自动化测试代码

//java项目wwwfhadminorgpublicclassTest{publicStringgetData()throwsIOException{//读取配置文件Propertiesproperties=newProperties();Filefile=newFile("conf.properties");FileInputStreamfis=newFileInputStream(file);properties.load(fis);fis.close();//获取配置文件数据StringconfData=properties.getProperty("confData");System.out.println(confData);}}

(3)执行jar包

java-jarjarNanexxx

方法二:绝对路径设置配置文件

解决问题:使用相对路径的方法在jar包同级目录手动执行jar包时没有问题,但使用linux系统的crontab文件定时调度时报错,原因:因为我们手动执行某个脚本时,是在当前shell环境下进行的,程序能找到环境变量;而系统自动执行任务调度时,除了默认的环境,是不会加载任何其他环境变量的。因此就需要在crontab文件中指定任务运行所需的所有环境变量,或者在程序中使用绝对路径。

(1)在jar包同级目录创建配置文件conf.properties并写入配置数据:

confData=data

(2)开始写入自动化测试代码

//java项目wwwfhadminorgpublicclassTest{publicStringgetData()throwsIOException{//获取jar包同级目录Stringpath=this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();String[]pathSplit=path.split("/");StringjarName=pathSplit[pathSplit.length-1];StringjarPath=path.replace(jarName,"");StringpathName=jarPath+"minhang.properties";System.out.println("配置文件路径:"+jarPath);//读取配置文件Propertiesproperties=newProperties();Filefile=newFile(pathName);FileInputStreamfis=newFileInputStream(file);properties.load(fis);fis.close();//获取配置文件数据StringconfData=properties.getProperty("confData");System.out.println(confData);}}

(3)执行jar包

java-jarjarNanexxx

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。