我正在使用Launch4j为我的代码创建一个exe文件。 exe文件创建成功,但因为我在我的代码中使用了一些图像到GUI,exe文件不起作用。如何将我的图像插入exe文件?感谢名单
答案 0 :(得分:1)
我的项目通常有这样的文件夹结构:
/src
/main
/java
/resources
/test
...
(因为我使用Maven; Launch4J有一个很好的Maven插件,顺便说一句。)。
我将需要为应用程序提供的所有图像放入/resources
文件夹。
在构建过程中,图像被复制到输出文件夹中,其中包含所有已编译的.class
文件。图像现在位于类路径中。
要访问类路径中的资源(即图像),可以使用类加载器,例如:
可以通过System ClassLoader访问根目录(src/main/resources/image.jpg
)中的资源:
ClassLoader.getSystemResource("image.jpg");
ClassLoader.getSystemResourceAsStream("image.jpg");
其他软件包中的资源(例如com.example.MyClass
资源应位于src/main/resources/com/example/image.jpg
)可以通过类本身访问:
MyClass.class.getClassLoader().getResource("image.jpg");
Launch4J从不抱怨并使用图像而没有任何问题,即使在.exe文件中也是如此。