我刚刚将 Java Web Start 应用程序转换为小程序。加载时间比以前更长,因此我在控制台中启用了最高级别的日志记录。
该程序使用了存储在 .jar 文件中的大量资源。但是,它会尝试从 Web 服务器上的代码库下载其中一些!响应显然是404,但由于文件太多,仍然浪费很多时间。一旦所有内容最终加载,所有资源都会正常工作!为什么要这样做?我该如何让它停止?
资源加载代码:
public static BufferedImage loadImage(String name, String path) throws IOException
{
URL url = AssetManager.class.getResource(path.replace("resource://", "resources/"));
if(url == null)
throw new IOException("Resource not found: "+path);
BufferedImage image = ImageIO.read(url);
images.put(name, image);
return image;
}
最佳答案
我也观察到了这一点,但我不太确定如何避免插件从 HTTP 而不是 jar 加载类。您可以尝试使用 jar 索引(这样虚拟机就会知道哪个类/资源位于哪个 jar 中)。可能还有一些小程序标记或 JNLP 文件选项可以避免这种情况。
关于Java小程序资源加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812227/