gpt4 book ai didi

java - Web Start 找不到系统资源

转载 作者:行者123 更新时间:2023-12-01 10:54:45 24 4
gpt4 key购买 nike

我有一个应用程序,当我不尝试将其用作 Web 启动应用程序时,它运行良好,但是当我将其转换为 Netbeans 中的应用程序时,它就崩溃了。尝试获取位于依赖库中的资源时,控制台显示空指针异常。该代码行本身获取该库文件中的 .png 文件并将其用作窗口图标。杀死它的代码行是:

java.net.URL url = ClassLoader.getSystemResource("/com/my/icon/someimage.png");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url); // fails with null pointer exception

如果我不尝试将其作为网络启动应用程序来执行此操作,那么我的问题为零。它运行完美。网络启动 = 故障船。如果有什么区别的话,代码已签名。正在使用的库文件是一个大 jar,其中包含我创建的 3 个库文件以及 4 个其他需要的库文件,但我没有自己编写代码。我还需要对库文件进行签名吗?这本身可能是一个问题吗?

编辑:

如果我删除这些代码行,网络应用程序运行时不会出现任何问题。

这是错误:

Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException
at sun.net.util.URLUtil.getConnectPermission(Unknown Source)
at sun.awt.SunToolkit.checkPermissions(Unknown Source)
at sun.awt.SunToolkit.createImage(Unknown Source)
at DDSC.initComponents(DDSC.java:265)
at DDSC.<init>(DDSC.java:103)

最佳答案

尝试仅使用文件名使用 getClassLoader().getResource()。
不需要完整路径, getClassLoader() 通过 WebStart 和本地处理魔法:

String filename = "someimage.png";
Image resultImg = null;
URL url = getClassLoader().getResource(filename);
if (url != null)
resultImg = Toolkit.getDefaultToolkit().getImage(url);

关于java - Web Start 找不到系统资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33673658/

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