Java 将图像目录添加到EXE文件

Java 将图像目录添加到EXE文件,java,exe,exe4j,Java,Exe,Exe4j,我正在尝试使用exe4j工具从Java应用程序生成EXE文件。我已经成功地构建了项目JAR文件以及lib目录。我已经创建了EXE和它的工作顺利。我正在应用程序中创建条形码和个人资料照片。这就是我设定道路的方式 保存图像 File outputfile = new File("./src/com/ntap/solution/jmsystem/profilePics/" + formId + ".jpg"); if (outputfile == null) {

我正在尝试使用exe4j工具从Java应用程序生成EXE文件。我已经成功地构建了项目JAR文件以及
lib
目录。我已经创建了EXE和它的工作顺利。我正在应用程序中创建条形码和个人资料照片。这就是我设定道路的方式

  • 保存图像

     File outputfile = new File("./src/com/ntap/solution/jmsystem/profilePics/"     + formId + ".jpg");
            if (outputfile == null) {
                outputfile.createNewFile();
            }
    
            boolean write = ImageIO.write(icon, "jpg", outputfile);
    
  • 正在加载图像

     url = "/com/ntap/solution/jmsystem/profilePics/" + formID.getText() + ".jpg";
        ImageIcon icon = new ImageIcon(getClass().getResource(url));
    
但在转换为EXE后,图像文件路径不会从应该加载的位置加载。出现错误
找不到文件

这个过程与JAR以及项目完美配合。在设置像这样的路径之前,我应该知道哪些概念可能是exe中的问题


我应该将图像保存在外部位置吗?像
C:/documents/。
我该怎么做呢?

欢迎来到Stack Overflow!我们的社区希望您尝试使用正确的格式和拼写。如果没有,请浏览。您的
url
以斜杠开头,表示完整路径;除非您的jar文件以这种方式包含图像的完整路径,否则运行时将无法在那里找到图像。建立一个相对的路径到你的形象;标准的方法是将映像放在加载它的类所在的目录中,或者放在名为“images”的子目录中。在后一种情况下,加载图像的URL将是“images/”+blahblah+“.jpg”,在前一种情况下,只需去掉“images/”。您不能将图像保存到src,它在运行时不存在。如果文件存储在src目录中,那么将项目构建到jar中应该包括图像,具体取决于构建过程。如果建议从使用System.getProperty(“user.home”)开始,并为程序创建子目录(按照惯例,您应该将其放在AppData目录中)@非常感谢您的知识和建议!!欢迎来到堆栈溢出!我们的社区希望您尝试使用正确的格式和拼写。如果没有,请浏览。您的
url
以斜杠开头,表示完整路径;除非您的jar文件以这种方式包含图像的完整路径,否则运行时将无法在那里找到图像。建立一个相对的路径到你的形象;标准的方法是将映像放在加载它的类所在的目录中,或者放在名为“images”的子目录中。在后一种情况下,加载图像的URL将是“images/”+blahblah+“.jpg”,在前一种情况下,只需去掉“images/”。您不能将图像保存到src,它在运行时不存在。如果文件存储在src目录中,那么将项目构建到jar中应该包括图像,具体取决于构建过程。如果建议从使用System.getProperty(“user.home”)开始,并为程序创建子目录(按照惯例,您应该将其放在AppData目录中)@非常感谢您的知识和建议!!