gpt4 book ai didi

java - NPE,同时尝试在 jar 中获取资源

转载 作者:行者123 更新时间:2023-12-01 19:59:45 26 4
gpt4 key购买 nike

我尝试了很多变体,但找不到正确的。

我有类似的东西

在我的 Maven 创建的 jar 中,我可以看到

那是我的类文件夹。而且,顺便说一句,如果我在 IDEA 中启动程序,而不是从控制台启动程序,则路径 没有任何异常。

在这里,我在 Debug模式下启动我的 jar 试图查看问题出在哪里。如果我执行“file.exists()”,它将是错误的,但文件在里面。我认为,这个问题是因为路径中的“.jar!\”,但我不知道如何删除它。

无论如何我已经尝试过绝对和相对路径,我已经尝试过

Thread.getCurrentThread.getContextLoader.getResource()
GUI.class.getResource()
GUI.class.getClassLoader.getResource()

没有任何帮助

最佳答案

您不能使用File 打开 jar 文件内的资源。文件只能与普通文件和目录一起使用。

注意:在 IDE 中使用 File 可以正常工作,因为所有文件尚未打包在 jar 文件中。但是打包后程序就会崩溃。

找到资源后,例如。 URL res = GUI.class.getResource("/rxtx64/myres.dll") ,您可以将该资源作为流打开 InputStream is = res.openStream(); .

另请参阅相关答案 Utils to read resource text file to String (Java)How to read a text-file resource into Java unit test?

关于java - NPE,同时尝试在 jar 中获取资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59011864/

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