我想加載一個二進制映像文件在我的服務器端Java代碼中做一些處理。我現在把我的形象在我的執行類存在的包,並呼籲:如何在部署在Tomcat中的未爆炸戰爭文件中讀取資源文件?
Image img = Image.getInstance(this.getClass().getResource("logo.png"));
這時候,我對我的發展框的分解戰爭設置Tomcat運行,但是當我部署到服務器工作正常運行Tomcat的地方不會爆炸war文件,對getResource的調用返回null。
我也試着將圖像移動到我的上下文根和訪問它像這樣:
Image img = Image.getInstance(this.getClass().getResource("/../../logo.png"));
同樣,這個工作對我的發展中,而不是當我在其他地方部署。
有沒有更好的方法來訪問這個文件?我究竟做錯了什麼?
謝謝!
也許我應該也提到我使用Maven構建我的Web應用程序。我有一個完整的答案可以解決我的問題,但我無法在自己的問題上發佈8個小時。 – 11101101b 2012-01-06 21:29:33
將資源放入「src/main/resources」目錄。 然後訪問它們: this.getClass()。getResource(「/ logo.png」); 或者: Thread.currentThread()。getContextClassLoader()。getResource(「logo.png」); – 11101101b 2012-01-06 21:31:11