我知道有其他问题也在解决这个问题,但是那些解决方案对我并不适用。
我有一个小工具,它应该读取我想要作为资源打包的文件,并依赖于其他项目(我正在使用Eclipse Helios),我希望这些依赖能够作为JAR文件而不是单个类。
作为Eclipse中的应用程序,我可以通过以下方式访问我的资源:
String path = MyClass.class.getClassLoader().getResource("resources/" + name + ".SOURCE").getPath();
System.out.println(path);
File file = new File(MyClass.class.getClassLoader().getResource("resources/" + name + ".SOURCE").toURI());
defaultSource = readSOURCEFile(file);
只有当我将资源文件夹放在输出路径(编译后的源代码)下,而不是放在我的 src 文件夹中,才能正常工作。当我打包项目时,根目录或 classes 文件夹中的资源文件都不会被打包。如果我将资源文件放在 src 文件夹中,则它会被打包在 src/resources 下。我使用“导出-可运行的 JAR”选项,但是我做错了什么?如果我尝试使用“导出-JAR”选项,我可以正确地打包我的源代码和资源文件,但我在设置主类方面遇到问题,无法执行 JAR 文件。清单是正确的,类也在那里 :-( 第二个问题:在打包的 JAR 文件中,我收到错误消息:URI 不是分层结构(手动将资源移动到 jar 文件中后,我可以执行该 jar)。非常感谢!我将源代码链接到了工作区,这会有问题吗?