将 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,它会为您完成。
我希望有人能帮助我解决我的问题。在浏览了与上述主题有关的所有不同帖子后数小时,我现在决定回答我自己的问题。 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,它会为您完成。