【问题标题】:Cannot load resource in jar无法在 jar 中加载资源
【发布时间】:2015-12-28 16:07:25
【问题描述】:

我正在尝试在 jar 中加载资源,这是导出的 jar:

'main' 是包含我所有类的包,在其中一个类中,我试图加载 background.png 文件。在我的 Eclipse 项目中,我将资源放在“res/”文件夹下,我将其添加到构建路径中以包含它。当我尝试使用时

新文件("background.png");

找不到文件。 当我使用

MyClass.class.getClass().getClassLoader().getResource("background.png");

还是找不到文件。

【问题讨论】:

  • new File("relative_path") 打开文件的方式取决于您从哪里开始该过程。我认为MyClass.class.getClass()... 方式要求资源与源代码位于同一目录中,因此请尝试将其转移到“主”文件夹中,看看是否可行...

标签: java jar zip export


【解决方案1】:

打包在 jar 中的文件不能作为 File 对象访问。

当你尝试时

MyClass.class.getClass().getClassLoader().getResource("background.png");

您实际上使用的是java.lang.ClassClassLoader 而不是main.MyClassmain.MyClass,它可能无法找到资源(如果它是系统类加载器)。试试看

MyClass.class.getClassLoader().getResource("background.png");

改为。

【讨论】:

  • 在网上搜索了几个小时后,终于解决了问题
猜你喜欢
  • 1970-01-01
  • 2014-10-11
  • 1970-01-01
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
相关资源
最近更新 更多