Spring读取jar包外部的配置文件properties
2019独角兽企业重金招聘Python工程师标准>>>
一 。 如何获取jar包外的文件?
新项目用jar包运行,直接需求就是读取jar外部的配置文件properties,做到不同的环境有不同的配置信息。
用Spring管理的话
<context:property-placeholder ignore-unresolvable="true"location="classpath:config/database.properties,classpath:config/voiceapi.properties,classpath:config/threadpool.properties,file:${user.dir}/override.properties"/>
需要2点:
1.file:协议
2.${user.dir} ,来自jdk的 System.getProperty("user.dir") ,会输出项目的本地路径
二。 如何文件流?
public static String getProperties(String keyWord) {InputStream is = PropertiesProvider.class.getClassLoader().getResourceAsStream("config/error.properties");BufferedReader br = new BufferedReader(new InputStreamReader(is,Charset.forName("utf-8")));Properties properties = new Properties();try {properties.load(br);return properties.getProperty(keyWord);} catch (IOException e) {e.printStackTrace();}return null; }
最合理的代码。推荐使用。如果用file 取读,会遇到jar包路径获取不到的问题。
三。如何获取文件路径?
当项目里需要读取配置文件,有相对路径和绝对路径之分。绝对路径存在无法迁移,适配性不高的问题,只讨论相对路径
java不会支持获取.java文件的路径,只能依靠根据.class文件获取相对路径
Producer.class.getResource("config/kafka.properties").getPath();
1.配置文件肯定需要统一管理, 通常在resource文件下
2.配置pom.xml,让maven打包的时候加入resource目录
<!--管理配置文件打包--> <resources><resource><!--需要打包的目录--><directory>${basedir}/src/main/resources</directory><!--打包后的目录,默认是根目录--><!--<targetPath>src/main/resources</targetPath>--><filtering>false</filtering></resource> </resources>
3.程序里
static {properties = new Properties();String path = Producer.class.getResource("/config/kafka.properties").getPath();try {FileInputStream fis = new FileInputStream(new File(path));properties.load(fis);} catch (Exception e) {e.printStackTrace();} }
getResource方法的逻辑,如果是斜杠 / 符号开头,就是根目录找,这里和pom.xml的配置对应。
转载于:https://my.oschina.net/u/2382040/blog/2050088
Spring读取jar包外部的配置文件properties相关推荐
- java 读 jar外文件_读取Jar包外面的配置文件
比较常用的方法是将properties文件直接打入JAR包中,然后使用Properties类进行读取.有时候也需要读取在JAR外面的配置文件.废话不多说,直接上代码: import java.io.B ...
- Spring Boot Jar包运行指定配置文件
springboot会按照下列优先级来加载application.property配置文件:优先级由高到低 1.jar包同级目录的config目录下 2.jar包同级目录的application.pr ...
- 如何读取jar包外的properties和log4j.properties等配置文件
一般在项目中使用properties配置文件的时候都将相关的properties文件放在src目录下,在将该app打包生成jar后,相应的properties配置文件生... 一般在项目中使用prop ...
- Java如何读取JAR包外的properties文件及打成jar包后无法读取到jar包内的properties文件
项目中,经常把一部分功能独立出来,做一个java project,然后打成jar包供其他项目引用.这时候,如果jar包中需要读取配置文件信息,则很少把该配置打进jar包,因为它不方便修改,更多都是采 ...
- 如何读取jar包外的properties文件和log4j.properties
2019独角兽企业重金招聘Python工程师标准>>> 时间有限,不做排版和具体讲述问题产生的过程,下面是我的解决方案,已证实有效,其中Log4jP = "log4j.pr ...
- spring 各个jar包的功能
http://bbs.chinaunix.net/thread-1644704-1-1.html spring 依赖jar包: spring.jar 是包含有完整发布模块的单个jar 包.但是不包括m ...
- spring 的jar包解释
2019独角兽企业重金招聘Python工程师标准>>> Struts.Hibernate.Spring这类的框架给我们开发带来非常大的好处,让我们更加快速.有效的开发.所以我们在开发 ...
- 读取jar包所在目录和jar包内文件
在网上查找了很多关于读取jar包的相对路径资料,但是大多都是读取jar包内文件的方法介绍,甚至有人将读取包内路径的方法混淆为读取包外路径的方法.经过本人亲自的测试,对于两种读取文件的方 ...
- 读取jar包资源代码赏析
2019独角兽企业重金招聘Python工程师标准>>> 该代码来自jfinal engine.读取jar包内代码通常通过classLoader获取 // // Source code ...
最新文章
- imu oracle,问一个关于IMU REDO的问题~
- jmi,mof,cwm
- 大规模web服务开发技能
- 如何学习配置webpack(一)
- 2019年招聘python工程师薪资飙升,Python这些技能你掌握了吗
- 赛码网算法: 军训队列( python实现 )
- wp7设置浏览器主页
- 【转】POP3、SMTP和IMAP之间的区别和联系
- SQL2008 SP3下载
- STM32官方封装库下载方法
- 深度学习之图像分类(七)--ResNet网络结构
- java开根号函数_如何在Java中计算平方根和平方根?
- 联想小新电脑摄像头黑屏、检测不到设备、指示灯不亮解决方案
- Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】
- 2021年,学UI设计还吃香吗?
- pixiv的服务器信息,Pixiver™
- Cosmos IBC
- 一个快速测试PlayCanvas Demo 的工程(内附源码)
- | JavaScript脚本注入,完成Selenium 无法做到的那些事
- 对公司的选择和个人职业发展规划的一些想法
热门文章
- python函数参数定义不合法_下列哪种函式参数定义不合法?
- android token过期怎么跳转登录_用sa-token轻松解决网站权限验证
- leetcode算法题--Count and Say
- C中strcpy函数实现
- libpcap捕包机制分析(三)
- DPDK 大页内存原理(二十一)
- DPDK 数据包捕获基本流程(十六)
- dataframe 筛选_使用pandas筛选出指定列值所对应的行
- xampp去运行php文件_从0开始构建一个属于你自己的PHP框架
- mysql中序列的使用,在MySQL中使用序列的简单教程