[英].Xml file is not packaged when I build jar
這是我在IntellijIDEA中的項目結構
當我構建jar文件時,它不會打包character.xml文件。
Document doc = builder.parse("characters.xml");
這就是我在代碼中來源的方式。 顯然這里有一個錯誤,但是我不知道該放在哪里以及應該寫什么路徑。
DocumentBuilder.parse(String)的文檔指出:
將給定URI的內容解析為XML文檔,並返回一個新的DOM
Document
對象。
"characters.xml"
技術上講, "characters.xml"
是有效的URI,但它是相對URI,並且沒有可用於解決它的基礎URI。
要讀取.jar中的文件,請使用Class.getResource或Class.getResourceAsStream 。 一個例子是:
Document doc;
try (InputStream stream = Controller.class.getResourceAsStream("characters.xml")) {
doc = builder.parse(stream);
}
或者,您可以將資源轉換為URI:
Document doc = builder.parse(
Controller.class.getResource("characters.xml").toString());
請注意,如果參數不是現有jar條目的路徑,則Class.getResource和Class.getResourceAsStream均返回null。 您將需要將character.xml移動到src \\ sample目錄中。 您可能需要通過在IDE的“文件”區域中檢查.jar文件來驗證它是否包含character.xml。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.