跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 求教大佬, Java 运行 jar 的时候,读取不到配置文件
未分類
29 5 月 2020

求教大佬, Java 运行 jar 的时候,读取不到配置文件

求教大佬, Java 运行 jar 的时候,读取不到配置文件

資深大佬 : NoKey 2

当前项目打包成 jar 执行

然后我在 jar 同目录下放了一个 resource 目录,下面放了配置文件

使用

InputStream is = MyClass.class.getClassLoader().getResourceAsStream("resouce/myfile.properties")  

这种方式,无法读取到文件

然后,我尝试了一下

String path =  MyClass.class.getClassLoader().getResource("").getPath(); 

获取不到路径

请大佬指点一下,谢谢。

大佬有話說 (9)

  • 資深大佬 : putaozhenhaochi

    你这是读取 jar 包外部配置了吧。

    网上找的一段代码 ,你参考下
    读取 jar 包内配置文件:

    InputStream in = this.getClass().getClassLoader().getResourceAsStream(“/configfilename.properties
    读取 jar 包外配置文件:

    String filePath = System.getProperty(“user.dir”) + “/conf/configfilename.properties”;
    InputStream in = new BufferedInputStream(new FileInputStream(filePath));

  • 資深大佬 : sweetsorrow211

    如果是 Spring:
    ClassPathResource resource = new ClassPathResource(“resouce/myfile.json”);
    File file = resource.getFile();

  • 資深大佬 : xiaofan2

    InputStream is = MyClass.class.getClassLoader().getResourceAsStream(“resouce/myfile.properties”)

    这个改成
    InputStream is = MyClass.class.getClassLoader().getResourceAsStream(“/myfile.properties”)
    这样读取的是你 jar 包内 classes 目录下的 myfile.properties 文件

  • 主 資深大佬 : NoKey

    @putaozhenhaochi 实际上目前就只能使用先读取文件,在得到流的方式。不过没搞明白,为啥直接运行 jar 得不到 classpath

  • 資深大佬 : BBCCBB

    是 Class.getResourceAsStream 和 ClassLoader.getResourceAsStream 的区别, 你搜一下,看懂就能解决了

  • 資深大佬 : holddie

    InputStream is = MyClass.class.getClassLoader().getResourceAsStream(“resouce/myfile.properties”)

    引用你这句话,你的 resource 单词少个 r

  • 資深大佬 : RJH

    Spring 有现成的类,以下代码就可以了
    // 读取 resource 目录下的 test.txt 文件,打成 jar 包也可以读取到
    Resource resource = new ClassPathResource(“/test.txt”);
    InputStream resourceInputStream = resource.getInputStream();

  • 資深大佬 : egfegdfr

    你这个读取的是 jar 外的配置文件。需要注意文件路径

  • 資深大佬 : falsemask

    getResourceAsStream 只能获取编译后的路径下的文件吧

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具