springboot怎么运行jar包读取外部配置文件
方法一:相对路径设置配置文件(1)在jar包同级目录创建配置文件conf.properties并写入配置数据:confData=data(2)开始写入自动化测试代码//fromwww.fhadmin.cnpublicclassTest{publicStringgetData()throwsIOException{//读取配置文件Propertiesproperties=newProperties();Filefile=newFile("conf.properties");FileInputStreamfi
方法一:相对路径设置配置文件
(1)在jar包同级目录创建配置文件conf.properties并写入配置数据:
confData=data
(2)开始写入自动化测试代码
//from www.fhadmin.cn
public class Test{
public String getData() throws IOException {
//读取配置文件
Properties properties = new Properties();
File file = new File("conf.properties");
FileInputStream fis = new FileInputStream(file);
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 www.fhadmin.cn
public class Test{
public String getData() throws IOException {
//获取jar包同级目录
String path = 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
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















