springboot 运行 jar 包读取外部配置文件的问题

网友投稿 1001 2022-12-25

springboot 运行 jar 包读取外部配置文件的问题

springboot 运行 jar 包读取外部配置文件的问题

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

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

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

confData=data

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

//from fhadmin-

public class Test{

public String getData() throws IOException {

//读取配置文件

Properties properties = new Properties();

File file = new File("conf.properties");

FileInputStream fis = new FileInputStream(file);

ArJyu properties.load(fis);

fis.close();

//获取配置文件数据

String confData = properties.getProperty("confData");

System.out.println(confData);

}

}

(3)执行jar包

java -jar jarNanexxx

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

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

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

confData=data

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

//from fhadmin-

public class Test{

public String getData() throws IOException {

//获取jar包同级目录

String path http://= this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();

String[] pathSplit = path.split("/");

String jarName = pathSplit[pathSplit.length - 1];

String jarPath = path.replace(jarName, "");

String pathName=jarPath+"minhang.properties";

System.out.println("配置文件路径:"+jarPath);

//读取配置文件

Properties properties = new Properties();

File file = new File(pathName);

FileInputStream fis = new FileInputStream(file);

properties.load(fis);

fis.close();

//获取配置文件数据

String confData = properties.getProperty("confData");

System.out.println(confData);

}

}

(3)执行jar包

java -jar jarNanexxx

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:智能车载终端哪个好(智能车载终端哪个好用)
下一篇:智能车载终端密码(高级智能车载系统工厂密码)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~