[英]load file within a jar
我需要在 jar 中打包一個配置文件。 配置文件在 jar 文件的根目錄下。 但是我收到以下錯誤:
引起:java.lang.IllegalArgumentException:URI 在 java.io.File.(Unknown Source) 不是分層的
File url = new File(MyClass.class.getClassLoader().getResource("my.conf").toURI());
您應該使用getResourceAsStream()
代替。 如果文件嵌入在您的 JAR 中,則 URI 很可能是 bundle:// URI
InputStream is = this.getClass().getResourceAsStream("my.conf");
為什么需要文件? 如果您需要閱讀配置使用
Class.getResourceAsStream("/my.conf");
這只需是包根目錄中的一個文件夾中的文件(與 jar 的根目錄中的文件相同)
該文件應與 MyClass 位於同一包中。 我剛剛意識到您正在創建一個 File 對象。 而是嘗試使用 getResourceAsStream()。 如果您想從類路徑資源中讀取內容,這是正確的方法。 這是示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.