将 JAVA 项目转换为可运行的 JAR 后找不到文件夹

Folders can not be found after converting a JAVA project into a runnable JAR

我希望有人能帮助我解决我的问题。在浏览了与上述主题有关的所有不同帖子后数小时,我现在决定回答我自己的问题。 None 的其他帖子解决了我的问题。

我想将现有的 JAVA 项目导出为可运行的 JAR。因此,我正在更改对以下内容的所有绝对引用:

this.getClass().getResource("/somekindofimage.png").toString();

这样我就可以访问可运行 JAR 中的所有可用文件。

但是我需要引用一个文件夹...所以我以同样的方式尝试了它:

this.getClass().getResource("/somekindoffolder").toString();

这给了我以下路径:

file:\C:\Users\..._data_collection

通过创建文件并使用 "is.Directory" 检查它 returns 错误。 我解压缩了可运行的 JAR。所有文件夹,所有需要的文件都包括在内。它们通过 BuildPath 作为源附加。

当我使用 Windows Explorer 测试上述路径时,它会将我定向到我正在寻找的文件夹。

我将 Eclipse Neon 2 用作 IDE,我的 JAVA 版本是 1.8-0_144。 提前致谢!

您不能使用文件路径引用 JAR 中的文件。您必须将它们作为资源从类路径加载。

确保您需要的资源和依赖项已打包在JAR 中。有一个 Maven Shade 插件,如果您使用 Maven,它会为您完成。