Java 部署带有图像的jar文件时出现问题

Java 部署带有图像的jar文件时出现问题,java,image,deployment,embedded-resource,executable-jar,Java,Image,Deployment,Embedded Resource,Executable Jar,我正在尝试将我的JavaGUI部署为一个可运行的jar文件。问题是,当我运行jar文件时,没有一个图像或者甚至是我用Swing&AWT创建的形状显示出来。有人能告诉我导出带有图像和形状的Java应用程序的正确方法吗?以下代码在随机图像中调用 int randomImage = (int)(Math.random() * 8); try { image = ImageIO.read(new File("src/images/" +randomImage + ".png"))

我正在尝试将我的JavaGUI部署为一个可运行的jar文件。问题是,当我运行jar文件时,没有一个图像或者甚至是我用Swing&AWT创建的形状显示出来。有人能告诉我导出带有图像和形状的Java应用程序的正确方法吗?以下代码在随机图像中调用

int randomImage = (int)(Math.random() * 8);
    try {
        image = ImageIO.read(new File("src/images/" +randomImage + ".png"));
    } catch (IOException e) {
        e.printStackTrace();
    }

到部署时,这些资源很可能会成为一种资源。在这种情况下,必须通过
URL
而不是
File
访问资源。有关形成
URL
的方法,请参阅标签的。即:

URL url = this.getClass().getResource("/path/to/the.resource");

“甚至是形状”我猜形状没有出现,因为在下注到该部分之前,代码在
NullPointerException
(图像)上失败。从命令行运行它,您可以观察错误输出。感谢您的及时回答!我会试试这个,让你知道它是怎么回事。@trashgood答案的链接很好。答案是典型的。但是,我们必须小心,不要让它太面向Java,因为它是一个用于许多其他语言的标记,这些语言也可以使用嵌入式资源。我认为,这个链接很好地“完成”了它的Java方面。