关于springBoot项目打成jar包后部署,无法读取fsatClient.conf文件

项目采用springcloud框架,将fastDfs服务打成jar部署到服务器上,进行文件上传时,系统报错找不到fastdfs的配置文件,看了下读取配置文件的代码
String filePath = new ClassPathResource("fdfs_client.conf").getFile().getAbsolutePath();
由于我们打的是jar包,所以结构跟war包的方式是不一样的,所以这里采用ClassPathResource是读取不到配置的,所以我们可以换一种方式来读取配置文件,ClientGlobal里有个方法initByProperties,我们可以将配置文件已propertie文件的形式注入,所以这里我们可以采用类加载器将配置文件转换后才能Properties
Properties properties = new Properties(); // 使用ClassLoader加载properties配置文件生成对应的输入流 InputStream in = FastDfsUtil.class.getClassLoader().getResourceAsStream("fdfs_client.properties"); // 使用properties对象加载输入流 properties.load(in); ClientGlobal.initByProperties(properties);
这里需要注意的是,由于之前我是采用的ClientGlobal.init(String conf_filename),直接注入fastdfs.conf文件,现在是ClientGlobal.initByProperties(Propertie pro)注入fastdfs.propertie文件,两种格式的文件的key是不一样的,所以我们需要修改conf里的key
1.conf格式

connect_timeout = 2
network_timeout = 30
charset = UTF-8
http.tracker_http_port = 80
http.anti_steal_token = no
http.secret_key = FastDFS1234567890

tracker_server = 10.0.11.247:22122
tracker_server = 10.0.11.248:22122
tracker_server = 10.0.11.249:22122
#注1:tracker_server指向您自己IP地址和端口,1-n个
#注2:除了tracker_server,其它配置项都是可选的

2.propertie格式

fastdfs.connect_timeout_in_seconds = 5
fastdfs.network_timeout_in_seconds = 30
fastdfs.charset = UTF-8
fastdfs.http_anti_steal_token = false
fastdfs.http_secret_key = FastDFS1234567890
fastdfs.http_tracker_http_port = 80

fastdfs.tracker_servers = 10.0.11.201:22122,10.0.11.202:22122,10.0.11.203:22122
#注1:properties 配置文件中属性名跟 conf 配置文件不尽相同,并且统一加前缀"fastdfs.",便于整合到用户项目配置文件
#注2:fastdfs.tracker_servers 配置项不能重复属性名,多个 tracker_server 用逗号","隔开
#注3:除了fastdfs.tracker_servers,其它配置项都是可选的

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值