- 最近做了一個項目,包含文件上傳功能,本地運行很正常,打成jar包部署到服務器上時,結果就報錯了,花了幾個小時的時間才發現是因為無法訪問到fastDFS的配置文件dfds_client.conf,導致報錯,以下是我之前的讀取文件的代碼:
filePath
= new ClassPathResource("fdfs_client.conf").getFile().getAbsolutePath();
由于打包成的是 jar 包,不是war包,無法讀取到.conf 文件,因此可以換一種配置文件:.properties配置文件,因為 ClientGlobal 類中有 initByProperties() 方法,可以讀取 properties文件;修改如下:
connect_timeout = 2
network_timeout = 30
charset = UTF-8
http.tracker_http_port = 443
http.anti_steal_token = no
http.secret_key = FastDFS1234567890abc
tracker_server = 82.157.172.13:22122connection_pool.enabled = true
connection_pool.max_count_per_entry = 500
connection_pool.max_idle_time = 3600
connection_pool.max_wait_time_in_ms = 1000
fastdfs.connect_timeout_in_seconds = 2
fastdfs.network_timeout_in_seconds = 30
fastdfs.charset = UTF-8
fastdfs.http.tracker_http_port = 443
fastdfs.http.anti_steal_token = false
fastdfs.http.secret_key = FastDFS1234567890
fastdfs.tracker_servers = 82.157.172.13:22122fastdfs.connection_pool.enabled = true
fastdfs.connection_pool.max_count_per_entry = 500
fastdfs.connection_pool.max_idle_time = 3600
fastdfs.connection_pool.max_wait_time_in_ms = 1000
#注意:
#1. properties文件中都需要添加 fastdfs 前綴;
#2. conf 文件和 properties文件中有幾項名稱有變動:
# connect_timeout ------> connect_timeout_in_seconds
# network_timeout -------> network_timeout_in_seconds
# tracker_server --------> tracker_servers
#3. fastdfs.tracker_servers 中,多個 tracker_server 用逗號","隔開
String properties
= "fdfs_client.properties";ClientGlobal.initByProperties(properties
);Properties properties
= new Properties();InputStream resourceAsStream
= FastDFSUtils.class.getClassLoader().getResourceAsStream("fdfs_client.properties");properties
.load(resourceAsStream
);ClientGlobal.initByProperties(properties
);
參考博客:https://blog.csdn.net/qq_41917197/article/details/103912746
非常感謝這位博主解決了這個問題!!
總結
以上是生活随笔為你收集整理的springboot打包成jar包部署,无法访问到fastDFS配置文件【已解决】的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。