gpt4 book ai didi

java - 如何正确打包Jar中的资源

转载 作者:太空狗 更新时间:2023-10-29 22:34:49 24 4
gpt4 key购买 nike

我知道还有其他针对同一问题的问题,但问题是这些解决方案对我不起作用。我有一个小工具,可以读取我想要的文件并将其打包为资源并依赖于其他项目(我正在使用 Eclipse Helios),我希望将其作为 jars 而不是单个类。

作为 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 下。

我使用 Export - Runnable Jar,我做错了什么?如果我尝试使用 Export - Jar,我可以正确打包我的源和资源,但我在设置主类时遇到问题并且无法执行 jar。 list 是正确的,类在那里 :-(。

第二个问题:在打包的 jar 中我得到错误:URI 不是分层的(在我手动移动 jar 中的资源后我可以执行 jar)

提前致谢!

我已将源链接到工作区,这有问题吗?

最佳答案

在 Eclipse 中将项目根文件夹下的 resource 文件夹标记为“Source Folder”(右键单击该文件夹,转到“Build Path”>“Use as source folder”)。然后像这样阅读资源:

InputStream is = MyClass.class.getClassLoader().getResourceAsStream(name + ".SOURCE");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line = reader.readLine();

关于java - 如何正确打包Jar中的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7263505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com