在Signed Jar,JNLP Application中加载图像时出错

时间:2011-03-17 07:43:37

标签: java swing jnlp

我正在开发JNLP应用程序并使用maven-webstart插件来创建JNLP。在我的本地运行应用程序时,它可以正常工作,但是当我使用jnlp在Tomcat服务器上运行时,它不会加载图像,也不会给出任何异常。

我正在加载图片

new ImageIcon(getClass().getResource("/icons/save.png"))

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:2)

您的图标位于何处?你如何在tomcat中运行jnlp应用程序?假设您没有很多图像,可以将它们打包到其中一个包中。只需创建一个名为com.yourproject.resources的包并在那里转储一些图像。然后访问它们的方式是: //在某个类中定义它

public URL obtainImageResource ( String nameOfResource )
    {
        return getClass().getResource( "/com/yourproject/resources/" + nameOfResource );
    }

请使用网址获取它们。 然后创建你需要的东西:

BufferedImage yourImage = ImageIO.read( yourclaass.obtainImageResource( "yourimagepng.png" ).openStream() );

请注意以下事项:在我的设置中,您需要将图像打包到jar中。

答案 1 :(得分:1)

没有更多信息,很难说。您可以使用jar -tf查看图像是否在JAR文件中。与此同时,这是一个可以加载图像的工作JWS application,供参考。