簡體   English   中英

Maven項目中資源文件的路徑是什么?

[英]What is the path to resource files in a Maven project?

在我的Maven項目中,我在main方法中有以下代碼:

FileInputStream in = new FileInputStream("database.properties");

但總是得到一個文件未找到錯誤。

我已將文件放在src / main / resources中,並將其正確復制到target / classes目錄(我相信這是Maven資源的預期行為),但在實際運行程序時,它似乎永遠無法找到該文件。 我嘗試了其他各種途徑:

FileInputStream in = new FileInputStream("./database.properties");
FileInputStream in = new FileInputStream("resources/database.properties");

等似乎沒什么用。

那么正確的使用途徑是什么?


根據下面的“disown's”答案,我需要的是:

InputStream in = TestDB.class.getResourceAsStream("/database.properties")

其中TestDB是類的名稱。

謝謝你的幫助,謝絕!

您無法直接加載文件,您需要使用資源抽象(資源不僅可以在文件系統中,而且可以在類路徑的任何位置 - 在jar文件中或其他方式)。 這種抽象是加載資源時需要使用的。 資源路徑是相對於類文件的位置的,因此您需要預先設置斜杠以獲取“root”:

InputStream in = getClass().getResourceAsStream("/database.properties");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM