我在Eclipse中有一個Java應用程序,它引用.XML文件作爲其他功能的模板。通常我不打包這些文件中的.jar文件,因爲將它們放在同一文件夾中的.jar文件中似乎做工精細與此引用:從與應用程序相同的JAR文件中引用文件
File myFile = new File("templates/templateA.xsd");
我現在要求這些模板被放置在同一個。 JAR文件作爲這個應用程序。我可以包括他們沒有問題,但這些參考不再起作用。
在應用程序運行的相同.JAR中是否有正確的方式引用.XML文件?
我在這裏有同樣的問題,我在上面的評論中提到。用我當前的文件層次結構,我總是以null輸入流結束。 – ricgeorge 2013-03-22 09:58:20
這是因爲路徑相對於.java,它在'this.getClass()。getResourceAsStream(「templates/templateA.xsd」)'中執行'.getClass()'。 您可以嘗試使用System類:'System.getClass()。getResourceAsStream(「templates/templateA.xsd」)''或簡單地將資源文件放在與使用它的java類相同的目錄中,並使用'this。的getClass()。的getResourceAsStream( 「templateA.xsd」)」。 – user2147970 2013-03-22 10:13:38
使用系統給我一個有關從非靜態方法getClass()進行靜態引用的錯誤。移動文件不幸的是不是一個真正的選擇。 – ricgeorge 2013-03-22 10:37:51