我正在使用 Launch4j 为我的代码创建一个 exe 文件。exe 文件创建成功,但因为我在代码中使用了一些图像到 GUI,所以 exe 文件不起作用。如何将我的图像插入到 exe 文件中?谢谢
问问题
2574 次
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
资源应该在 atsrc/main/resources/com/example/image.jpg
)可以通过类本身访问:MyClass.class.getClassLoader().getResource("image.jpg");
Launch4J 从不抱怨这一点,并且使用图像没有任何问题,即使在 .exe 文件中也是如此。
于 2013-12-19T09:29:17.053 回答