簡體   English   中英

生成jar時未打包.xml文件

[英].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.getResourceClass.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.

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