当前位置: 首页 > 知识库问答 >
问题:

如何将图像捆绑在一个文件夹中。jar文件?

东门俊民
2023-03-14

好的,我在分发我的邮件时遇到了一些问题。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文件中,但是它们没有被加载。你知道为什么吗?

共有1个答案

李耀
2023-03-14

要从Web应用程序中的war文件加载文件,需要从"ServletContext"加载。每个servlet上都有一个getServletContext()方法可用于此目的。它也可以从获得request.get会话(). getServletContext()

URL url = servletContext.getResource(name);
if (url == null) return null;
URLConnection resourceConn = url.openConnection();
return ImageIO.read(resourceConn);
 类似资料:
  • 问题内容: 我做了一个Java应用程序。并将所有类捆绑在jar文件中。.我从netbeans运行项目,我的应用程序运行成功..但是我将我的.jar文件放在另一个地方,然后从那里运行..我没有我的应用程序使用的图标..在代码中,我从项目文件夹中存在的images目录中获取我的图标。 现在,我想知道如何将这些图像文件呈现给最终用户(就像我们呈现.jar文件一样)。 问题答案: 似乎这里有两个问题: 在

  • 我使用以下代码移动图像一个文件夹到另一个文件夹,但它不工作。 如下 但还是不行谢谢

  • 我从。jar文件创建了。exe文件。现在我的客户机要求运行应用程序而不在系统中安装jre。我听说使用捆绑的jre是可能的...但我不知道如何将jre与。exe文件捆绑...

  • 问题内容: 分发应用程序时,将 所有 鸡蛋合并到一个zip文件中会很方便,这样您只需分发一个zip文件和一个可执行文件即可(某些自定义二进制文件会简单地启动,加载zip文件的主要功能并启动python关闭或类似)。 我已经看到过一些有关在线执行此操作的讨论,但是没有实际执行此操作的示例。 我知道您可以(如果它是zip安全的)将鸡蛋转换为zip文件。 我不确定的是: 您能以某种方式将所有鸡蛋合并到一

  • 我也在尝试用Python创建一个脚本来读取文本文件。在文本文件的每一行上,都有一个文件名。我希望脚本在文本文件的每一行中循环,并将带有文件名的文件从循环的当前行、从源文件夹移动到特定的目标。 希望这段代码能更准确地说明我在做什么: 我想把文件的内容和特定的文件名放到一个数组中,但是我有62700个可能的文件名,所以我想如果它只是在循环到每一行时移动文件,那么它会更有效率吗? 我还想到了使用迭代器(

  • 问题内容: 这个问题已经在这里有了答案 : 使用Java将文件从一个目录复制到另一个目录 (33个答案) 4年前关闭。 如何将一个文件夹及其所有子文件夹和文件复制到另一个文件夹中? 问题答案: Apache Commons IO可以为您解决问题。看看FileUtils。