jar包里面的代码如何读取jar包中的配置文件?

jar包里面的代码如何读取jar包中的配置文件?,第1张

先看代码目录结构:\x0d\x0asrc/weather/\x0d\x0aQueryWeather.java\x0d\x0aweather.xml\x0d\x0a程序里面可以辩卜直接读取到丛灶山weather.xml文件,代码如下:\x0d\x0aprivate static String getXmlContent()throws IOException {\x0d\x0aFileReader f = new FileReader("src/weather/weather.xml")\x0d\x0aBufferedReader fb = new BufferedReader(f)\x0d\x0aStringBuffer sb = new StringBuffer("")\x0d\x0aString s = ""\x0d\x0awhile((s = fb.readLine()) != null) {\x0d\x0asb = sb.append(s)}return sb.toString()}但是一旦把这个class文件和xml文件打成jar包再运行,对不起,报错,QueryWeather.class字节码根本找不到weather.xml\x0d\x0a在看打成jar包的结构:META-INFMANIFEST.MFweatherQueryWeather.class\x0d\x0aweather.xml\x0d\x0a用下面的方法就渗中可以找到weather.xml\x0d\x0aprivate static String getXmlContent()throws IOException {\x0d\x0aReader f = new InputStreamReader(QueryWeather.class.getClass().getResourceAsStream("/weather/weather.xml"))\x0d\x0aBufferedReader fb = new BufferedReader(f)\x0d\x0aStringBuffer sb = new StringBuffer("")\x0d\x0aString s = ""

jar包启动方式

此种方式,jar包需要放态前到最后

格帆仔清式

例如

使用springboot的方式,此种方式jar需要放到前面

格式

例如

以jar包发布springboot项目时,默认会先使用jar包 同级目录 下的 application.properties 来作为项目配置文件。但使用 --spring.config.location 指定了配置文件,则读取指定的配置文件。

如果在不同的目录中存在多个配置文件戚孙,它的读取顺序是:

Springboot的application.properties配置文件的加载路径优先歼念蔽级(从高到低):

当Springboot打成JAR包(不包含配置文件),读取外部配高薯置文件application.properties时,氏州可以选择:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12243566.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存