fastDFS文件服务器的java客户端初始化方法ClientGlobal.init(fdfs_client.properties) 找不到配置文件路径异常的解决

Posted 刘Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastDFS文件服务器的java客户端初始化方法ClientGlobal.init(fdfs_client.properties) 找不到配置文件路径异常的解决相关的知识,希望对你有一定的参考价值。

  最近在使用fastDFS文件服务器的java客户端上传文件时,它的初始化方法ClientGlobal.init(String)出现找不到配置文件的异常,无论是写死fdfs_client.properties文件位置还是怎样,都找不到配置文件的异常:
异常描述

异常代码源头,即ClientGlobal.init()方法

  这里我所使用的jar包版本是:

  <dependency>
                <groupId>fastdfs_client</groupId>
                <artifactId>fastdfs_client</artifactId>
                <version>1.25</version>
  </dependency>

后来尝试着替换jar包版本,但还是出现找不到配置文件异常,所以觉得可能是初始化的方式出现了异常,后来换了另一种方法,马上就解决了该问题,但是原理不明,下面附上两种初始化方法,第一种不行时,可以尝试第二种!绝对没有进行过其他代码的更改!
第一种

        /*第一种init方法,该方法失效时可以尝试第二种写法,其原因并不清楚*/
        ClientGlobal.init(this.getClass().getResource("/").getPath()+conf);

第二种

        /*第二种init方法*/
        ClassPathResource cpr = new ClassPathResource(conf);
        ClientGlobal.init(cpr.getClassLoader().getResource(conf).toURI().getPath());

参数书明

conf:初始化时所传入的参数,我传入的参数就是配置文件的名字,并且我将配置文件的注入写入到spring-mvc.xml中,即将FastDFSUtil交给IOC容器管理,在调用的时候,直接通过注解获取,配置部分的代码如下:

    <!--把FastDFSUtil交给IOC容器管理-->
    <bean id="fastDFSUtil" class="com.itszt.taotao.manager.controller.FastDFSUtil">
        <constructor-arg index="0" value="fdfs_client.properties"/>
    </bean>

以上是关于fastDFS文件服务器的java客户端初始化方法ClientGlobal.init(fdfs_client.properties) 找不到配置文件路径异常的解决的主要内容,如果未能解决你的问题,请参考以下文章

FastDFS分布文件系统Java客户端使用

分布式文件服务器FastDFS之“文件上传后(JAVA),前(AngularJS)端代码"

从入门到精通(分布式文件系统架构)-FastDFS,FastDFS-Nginx整合,合并存储,存储缩略图,图片压缩,Java客户端

FastDFS分布文件系统Java客户端集成

Java客户端操作FastDFS实现文件上传下载替换删除

FastDFS分布文件系统Java客户端使用