Re: [問題] 檔案讀取特定區塊內容
打包後常見的問題是。
[1] 讀檔不成功
把設定直接當作 File 處理,但實際上他是在 Zip 檔內的 Entry。
所以,應該先用 classloader 的 getResourceAsStream() 讀進來
直接在 memory 中操作 InputStream 或是先讀成一個字串
再接著用 yaml library 處理它。
[2] 相依的 library 找不到
以 IDE 常包出來的是一個 jar 內有你的 class 與其他相依的 jar
但比較常用的方式大概有
1. fatjar (aka uberjar) 把其他 jar 也解壓縮跟 class 包一起
maven 與 gradle 都有相關的 plugin
2. 獨立包一個 jar 與分開的 library,再設 classpath 讓它執行時找得到
maven 與 gradle 也都有支援「包」application 的功能
順便把 .bat 或 .sh 都生好了。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.131.222 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/java/M.1627692029.A.258.html
※ 編輯: qrtt1 (118.160.131.222 臺灣), 08/01/2021 09:37:46
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
4
19
java 近期熱門文章
PTT數位生活區 即時熱門文章