为什么getResource返回null

amo*_*one 5 java eclipse assets jar getresource

我正在尝试访问项目中的文件.但是getResource方法返回null.

这就是我的项目的样子: 在此输入图像描述

Thread.currentThread().getContextClassLoader().getResource("assets/xxx.png"); //returns null
Run Code Online (Sandbox Code Playgroud)

以及eclipse工作区中的项目文件夹如何:

在此输入图像描述

为什么?我想访问资产文件夹中的文件?

编辑 我创建了一个jar文件,这是jar的内容:

在此输入图像描述

解决了

首先,我有很多图像文件,所以我想将它们整理到一个文件夹中.我把assets文件夹放在src目录中,最后我能够访问这些文件.

this.getClass().getClassLoader().getResource("assets/xxx.png");
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Era*_*nda 2

有很多方法可以将资源添加到 jar 文件中,您可以将其放在 src 中,如果您使用 maven、ant 等,则添加为资源...如果您能够捆绑整个目录,那么您应该能够使用您的原始代码段。对于当前的结构,您可以使用以下代码。

Thread.currentThread().getContextClassLoader().getResource("/xxx.png"). 
Run Code Online (Sandbox Code Playgroud)