为了账号安全,请及时绑定邮箱和手机立即绑定

运行 jar 时出现 FileNotFoundException

运行 jar 时出现 FileNotFoundException

千万里不及你 2022-12-28 16:29:04
我能够使用 Maven 正确构建我的 jar。在我的代码中,我做了以下内容:    InputStream input = new FileInputStream("src/configuration_file.txt");然后,当我运行我的 jar 时,我得到 FileNotFoundException。我知道文件 configuration_file.txt 在 jar 中,因为当我用 winrar 打开它时,我可以直接看到它。我认为问题可能与 POM 中的文件夹和路径有关,但我不确定,我真的不知道还能尝试什么。
查看完整描述

3 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

  1. 默认情况下,资源文件(您使用的是默认值,因为您没有在 pom 中定义它)应该转到 src/main/resources for maven 项目。默认情况下,Maven 从该目录获取非源文件并将它们放在结果 jar 中的正确位置。

  2. 要访问 Jar 中的资源,您需要使用类加载器。已多次描述:Reading a resource file from within jar


查看完整回答
反对 回复 2022-12-28
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

我想你可能会考虑这种方式


  InputStream i = this.getClass().getResourceAsStream(File.separator+"configuration_file.txt");

  BufferedReader r = new BufferedReader(new InputStreamReader(i));

  System.out.println(r.readLine());


查看完整回答
反对 回复 2022-12-28
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

试试这个,当我们的资源在 Spring 应用程序的情况下在 jar 中时它会起作用

InputStream resource = new ClassPathResource("src/configuration_file.txt").getInputStream();



查看完整回答
反对 回复 2022-12-28
  • 3 回答
  • 0 关注
  • 212 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信