当我从Java运行我的程序时,一切都很好。如果我将程序导出到可运行的.jar,则程序无法启动。 当我将资源文件夹与我的图片NEXT复制到可运行的.jar时,它确实启动了。资源文件夹通常位于我的src文件夹中。 可运行的jar确实包含带有图片的资源文件夹。 它位于包名称旁边的文件夹中。
我用过
Icon cancelIcon = new ImageIcon(this.getClass().getClassLoader().getResource("resources/cancelIcon.png"));
和
Icon cancelIcon = new ImageIcon(this.getClass().getResource("/resources/cancelIcon.png"));
导出后为什么我的程序无效?
答案 0 :(得分:2)
问题是,eclipse不关心路径中的区分大小写,但导出的jar确实如此。 我有一个文件“animation.GIF”,在源代码中有“animation.gif”。 Eclipse没关心,罐子也没关心。
答案 1 :(得分:0)
当我将资源文件夹与我的图片NEXT复制到可运行的.jar时,它确实启动了。
这是因为当您导出runnable .jar时,它会在库处理
下为您提供三个选项您可能选择了第3个,例如,为什么当您复制.jar旁边的子文件夹时,它运行正常....
我建议在导出时选择第一个(Extract ...),然后再次尝试运行.jar ....
您的resources
文件夹(包含图片)应位于src
文件夹中...并在java中设置imageIcon
,您可以使用{{1像这样......
Toolkit
希望有所帮助......