【发布时间】:2015-07-28 08:40:24
【问题描述】:
我正在尝试使用 intelij Idea 工件将我的应用程序导出到 jar 中。我导出了除资源之外的所有内容(我认为 .jar 文件对于 14.5GB 来说太多了),所以我将 /res 文件夹放在与 jar 相同的文件夹中。
现在我的结构是这样的:
/SAR.jar
/res/colors/
/res/icons/
/res/map/
但是我无法访问这些资源。我正在使用以下代码来获取路径:
目录=新File(getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getPath() + "/res/icons/");
从 IDE 运行时它可以工作并且打印正确的位置。但是当我构建一个工件并通过 cmd 运行它时,我得到了空指针,它打印了这个路径:D:/JavaProject/SAR/out/artifacts/SAR_jar/SAR.jar/res/icons。但是我的资源不在 jar 文件中,它们只在同一个目录中。
有什么想法吗?我只在路径中完成了 android 项目,我根本无法让这个带有 jar 的资源系统工作。
感谢转发
【问题讨论】:
-
如果我的提议不起作用,请告诉我