java读取jar外部的配置⽂件
⼀、为什么将配置⽂件放在java project外?
双人舞蹈在java应⽤中经常会⽤到配置⽂件,配置⽂件中定义了程序运⾏所需要的⼀些配置信息,⽽配置⽂件既以放在java project内部(在给java project打jar包时将配置⽂件打在jar包内部),也可以放在java project外部。
在⽣产环境中⽐较可取的是:配置⽂件放在java project外部。这是因为:
当⼀个java程序运⾏在⽣产环境时,通常由运维⼈员来负责维护程序,如果有些配置信息需要修改,维护⼈员更改配置⽂件并重启程序即ok了。显⽽易见如果配置⽂件打包在jar包内部的话,修改配置⽂件就很繁琐,有时候甚⾄需要开发⼈员重新修改配置⽂件、重新打jar包并替换就jar。但是这种⾏为在⽣产环境中通常是不被允许的,因此就需要将配置⽂件放在jar包外部。
⼆、java读取jar包外的配置⽂件
2.1 在intellij idea中新建⼀个Ja va pr o jec t(基于ma ven)
pro t(基于m a
2.2 新建配置⽂件
俄罗斯签证step 1. intellij idea中选中⼯程(即图中的test123)并右击 --> new --> directory,输⼊⽬录名res(也可以是其他命名)。审美与表现自我评价
step 2. 选中新建的res⽬录并右击 --> mark directory as --> resources root,即可得到图中的res⽬录(注意res右下⾓出现了黄⾊的横(该步骤很关键)
呆若木鸡成语故事杠)。(该步骤很关键)
step 3. 选中res⽬录并右击 --> new ---> file,输⼊myCanal.properties(myCanal也可以改为其他),打开myCanal.properties并输⼊配置信息并保存,例如:
mysqlInstanceName=test1
mysqlSchemaName=alex
其中mysqlInstanceName和mysqlSchemaName都为属性的键key, test1和alex分别为其对应的属性值value。
配置⽂件⽰例
2.3 读取配置⽂件的业务代码
import java.io.*;
import java.util.Properties;
关于老师的名言public class Main {
public static void main(String[] args)throws IOException {
Properties prop =new Properties();
InputStream inputStream =null;孤月沧浪
try {
prop.load(new FileInputStream("res/myCanal.properties"
"res/myCanal.properties"));
/* 注释:也可以直接在src/main/resources⽬录下新建配置⽂件,但是new FileInputStream("res/myCanal.properties")需要改为new FileInputStream("src/main/resources/myCanal.properties") */
}catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
System.out.Property("mysqlSchemaName"));
System.out.Property("mysqlInstanceName"));
}
}
2.4 maven打包jar(配置⽂件不需要打⼊jar包)
打jar包⽅法⽹上有很多
2.5 将打包好的jar和intellij idea的test123⼯程下的res⽂件夹(包含配置⽂件)复制到*同⼀级⽬录下*(服务器或本机上运⾏该程序的地⽅)(注意是*同⼀级⽬录下*,这很关键,否则程序会不到该配置⽂件)
2.6 启动jar读取配置⽂件
在jar所在的路径,运⾏下⾯命令即可:
java -classpath abc-1.0.jar Main
其中abc-1.0.jar为打包好的jar,Main为主类
当然主类也可以直接定义在l⽂件中,具体⽅法可以参考⽹上。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论