簡體   English   中英

從戰爭中加載配置文件

[英]Load config file from a war

我有一個Maven項目,我試圖將其打包為戰爭和罐子。 作為我的應用程序/ servlet初始化的一部分(取決於我是運行jar還是戰爭),我需要讀取一個名為server.ini的文件。 我把文件放在src/main/resources/server.ini並嘗試加載它,如下所示:

System.class.getResourceAsStream("server.ini");

但是,這總是會導致null 我究竟做錯了什么?

server.ini文件應位於資源目​​錄的根目錄中。

通過將它放在webapp您可以通過http使文件可用,但是您需要在classpath上訪問它,這意味着您應該將它放在資源目錄中。

web.xmlcontext.xml很有可能更適合你想要做的事情,但......

嘗試把server.iniWEB-INF/classes ,或做一些像這樣

問題是我使用的是具有非限定路徑的System類加載器,所以它期望在java.lang包中找到我的server.ini

由於我的文件在src/main/resources ,我應該使用當前類的類加載器,使用絕對路徑:

getClass().getResourceAsStream("/server.ini")

這適用於戰爭和罐子。

在Java中加載資源的首選方式 ”問題對資源加載有很好的解釋。

暫無
暫無

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

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