2017-10-06 99 views
1

我有一個Maven的Java EE應用程序讀取位於資源的GlassFish的Java

enter image description here

的路徑文件是

~/Work/appname/WebContent/resources/json/menu.json 

在位於這裏的GlassFish文件部署後:

~/Tools/glassfish4/glassfish/domains/domain1/applications/appname/resources/json/menu.json 

enter image description here 在此文件中以json格式存儲菜單。 我需要對這個文件進行基本的crud(創建,讀取,更新,刪除)操作。

我試圖獲取文件是這樣的:

InputStream inputStream = ModulMenuUtil.class.getClassLoader().getResourceAsStream("/menu.json"); 

我得到一個NullPointerException。我不知道如何獲得這個文件的路徑。請幫幫我。

+0

我還牛逼ry InputStream inputStream = ModulMenuUtil.class.getClassLoader()。getResourceAsStream(「json/menu.json」);不要工作。 –

回答

1

確保您的json文件夾和文件放置在src/main/resources之下。

嘗試以下操作:

this.getClass().getClassLoader().getResourceAsStream("json/menu.json"); 

或(不推薦)

Thread.currentThread().getContextClassLoader().getResourceAsStream("json/menu.json"); 

如果這兩個方法都不奏效,你也可以嘗試將文件放在你的src文件夾的根。

參見:

+0

我用靜態方法創建了一個Util類。此解決方案不適用於靜態方法。你能用靜態方法做什麼? –

+0

第二種方法也適用於靜態環境... – unwichtich