gpt4 book ai didi

java - 如何在 .jar 文件中捆绑图像?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:08 24 4
gpt4 key购买 nike

好的,我在分发 .jar 文件时遇到了一些问题。当我从 NetBeans 运行该程序时,它运行正常,但如果我尝试从 dist 文件夹运行它,它就不起作用(没有图像被加载)。

这是我的程序的层次结构:

  • src/img/随机图片
  • src/myapp/源文件

我用这个函数加载图像:

public BufferedImage getImg(String path) throws IOException {
if (this.getClass().getResource(path) != null) {
return ImageIO.read(this.getClass().getResource(path));
} else {
return null;
}
}

然后:

BufferedImage image = getImg("../img/static_bg.png");
if (image != null) {
g.drawImage(image, 309, 884, this);
}

在我构建我的项目之后,图像在 jar 文件中,但它们没有被加载。有什么想法吗?

最佳答案

要从 Web 应用程序中的 war 文件加载文件,您需要从“ServletContext”加载它。每个 servlet 上都有一个 getServletContext() 方法可用于此目的。也可以从request.getSession().getServletContext()

获取
URL url = servletContext.getResource(name);
if (url == null) return null;
URLConnection resourceConn = url.openConnection();
return ImageIO.read(resourceConn);

关于java - 如何在 .jar 文件中捆绑图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16584203/

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