0

我正在使用 Launch4j 为我的代码创建一个 exe 文件。exe 文件创建成功,但因为我在代码中使用了一些图像到 GUI,所以 exe 文件不起作用。如何将我的图像插入到 exe 文件中?谢谢

4

1 回答 1

2

我的项目通常有这样的文件夹结构:

/src
    /main
         /java
         /resources
/test
    ...

(因为我使用 Maven;Launch4J 有一个很好的 Maven 插件,顺便说一句。)。

我将所有需要可用于应用程序的图像放入/resources文件夹中。在构建过程中,图像被复制到所有编译.class文件所在的输出文件夹中。图像现在位于类路径中。

要访问类路径中的资源(即图像),可以使用类加载器,例如:

  • 根目录 ( src/main/resources/image.jpg) 中的资源可以通过 System ClassLoader 访问:

    ClassLoader.getSystemResource("image.jpg");
    ClassLoader.getSystemResourceAsStream("image.jpg");
    
  • 其他包中的资源(例如com.example.MyClass资源应该在 at src/main/resources/com/example/image.jpg)可以通过类本身访问:

    MyClass.class.getClassLoader().getResource("image.jpg");
    

Launch4J 从不抱怨这一点,并且使用图像没有任何问题,即使在 .exe 文件中也是如此。

于 2013-12-19T09:29:17.053 回答