配置檔案
配置訪問字首
SpringBoot版本 | 配置 |
---|---|
1.x | server.context-path=/api/guache |
2.x | server.servlet.context-path=/api/guache |
yaml:
server:
port: 8201
tomcat:
uri-encoding: UTF-8
remote-ip-header: x-forward-for
max-threads: 1000
max-http-post-size: 102400000 # 設定Httppost資料大小
max-http-header-size: 102400000 # 設定HttpHeader請求頭大小ostSize =102400000 //設定Httppost資料大小
servlet:
context-path: /api/guache
訪問時即:
http://47.111.170.xx/api/guache
常用方法
讀取配置檔案
有些讀取配置檔案的方式,在本機開發除錯過程中是正確的,但是在打包為一個jar執行後,就失敗了
失敗的方式:
file = new ClassPathResource("excel/contract.xlsx").getFile()
java.io.FileNotFoundException: class path resource [excel/contract.xlsx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/home/project/guache/guache_java/guache.jar!/BOOT-INF/classes!/excel/contract.xlsx
問題的本質不在於某些類的讀檔案的方式行不行,本質在於,當打包後,是無法獲取真實的資原始檔的,因為檔案在jar中,無法通過路徑獲取
所以,只能獲取到流,而我們實際上想要操作檔案,也是通過流操作的
正解為:
InputStream resourceAsStream = ContractFormServiceImpl.class.getResourceAsStream("excel/contract.xlsx");
is = new ClassPathResource("excel/contract.xlsx").getInputStream();
InputStream a = this.getClass().getResourceAsStream("a");
``
本作品採用《CC 協議》,轉載必須註明作者和本文連結