簡體   English   中英

訪問JAR文件中的資源

[英]Accessing resources within a JAR file

我正在嘗試訪問嵌入在JAR文件中的資源。 需要訪問文件的類是:

/worldEntities/factories/RoomFactory.class

並嘗試訪問:

/map-data/roomDescriptions.xml

為此,我向RoomFactory.class添加了以下代碼:

Document doc = docBuilder.parse(this.getClass().getResourceAsStream("/map-data" + File.separator + "roomDescriptions.xml"));

當我在NetBeans中執行項目時,它運行正常,沒有錯誤。 但是,當我嘗試通過輸入以下內容從命令行運行代碼時

java -jar Program.jar

我得到一個java.lang.IllegalArgumentException:InputStream不能為null,它指向我上面描述的代碼。

預先感謝您的幫助,

湯瑪士

您需要確保將資源與.jar捆綁在一起,否則將找不到該資源

這篇文章應該對如何從NetBeans做到這一點有所幫助

  1. 帶有"-"字符的名稱不是有效的Java包名稱。 因此, "map-data"不是有效的軟件包名稱。

  2. 然后, File.separator在不同平台上可能會有所不同。 在代碼中使用"/" ,以確保使用有效的包分隔符。

暫無
暫無

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

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