第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我想部署在類路徑中包含一些文件的 jar

我想部署在類路徑中包含一些文件的 jar

慕碼人8056858 2023-10-13 16:28:18
當(dāng)我使用此命令執(zhí)行 jar 時(shí)java -jar myapp.jar,我遇到了FileNotFoundException.我的項(xiàng)目是一個(gè)基本的 Gradle java 應(yīng)用程序。我把文件放在ROOT/src/main/resources/testfile/test1.txt. 我嘗試在 IDE 中運(yùn)行代碼以使用類路徑檢查文件是否存在。File file = ResourceUtils.getFile("classpath:testfile/test1.txt"); System.out.println(file.exists());這是真的,但是當(dāng)我執(zhí)行命令“gradle build”的結(jié)果的構(gòu)建文件時(shí),我遇到了 FileNotFoundException。(\BOOT-INF\classes\testfile\test1.txt)當(dāng)我取消歸檔 jar 時(shí),我可以看到該文件。實(shí)際上,我想使用示例文件部署 spring boot jar,并且我將放置用于初始化的代碼。請(qǐng)幫忙。謝謝。
查看完整描述

3 回答

?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

假設(shè)您實(shí)際上想要讀取文件而不是嘗試使用類加載器來尋址資源:


    InputStream in = getClass().getResourceAsStream("/testfile/test1.txt");

    BufferedReader reader = new BufferedReader( new InputStreamReader( in ) );

    String line = null;

    while( (line = reader.readLine() ) != null )

      System.out.println("Line: " + line);


這對(duì)我有用


查看完整回答
反對(duì) 回復(fù) 2023-10-13
?
揚(yáng)帆大魚

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

您無法將 jar 內(nèi)的資源讀取為 java.io.File,正如 @Shailesh 共享的鏈接中所述

InputStream is = this.getClass().getClassLoader().getResourceAsStream("classpath:testfile/test1.txt"))

將文件作為輸入流讀取,然后可以將其轉(zhuǎn)換為 String,然后根據(jù)需要將其轉(zhuǎn)換為類。


查看完整回答
反對(duì) 回復(fù) 2023-10-13
?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊

'this.getClass().getClassLoader().getResourceAsStream()' 是一個(gè)不錯(cuò)的選擇


我遇到同樣的問題。唯一的區(qū)別是我想要讀取文件后的返回類型—— String 。于是,我找到了一個(gè)好用的api—— this.getClass().getClassLoader().getResource(String name)。


String read = null;

URL resource = this.getClass().getClassLoader().getResource("static/facility-tree.json");

CharSource charSource = Resources.asCharSource(resource, Charset.defaultCharset());

read = charSource.read();

CharSource和Resources來自Guava,因此需要在pom.xml中添加依賴。


<!--guava->

<dependency>

    <groupId>com.google.guava</groupId>

    <artifactId>guava</artifactId>

    <version>31.1-jre</version>

</dependency>


查看完整回答
反對(duì) 回復(fù) 2023-10-13
  • 3 回答
  • 0 關(guān)注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)