当jar运行命令行时相对路径不起作用,但是当通过Netbean运行时起作用

时间:2011-05-06 17:41:50

标签: java swing netbeans

我在Java项目的“src”文件夹中添加了“Images”文件夹。

要在标题栏上设置左上角图像,我使用的是Image文件夹中的图像。 为此,我编写了代码         Image img=Toolkit.getDefaultToolkit().getImage("src/Images/Sell Smart2 copy.jpg"); frame.setIconImage(img);

当项目通过Netbeans运行时,这可以正常工作 但是当我使用命令“java -jar project.jar”通过命令行运行该项目的jar时,则不显示Image。

为什么会出现这个问题?任何解决方案

谢谢, 图片已添加参考。

enter image description here

3 个答案:

答案 0 :(得分:1)

  1. 你在创建jar时检查src文件夹是否包含在jar中? 使用jar -xf或类似选项查看jar内容或使用winrar查看jar内容。

答案 1 :(得分:1)

从你的路径中删除src。 此外,在加载震动图像时,您应该使用getClass()。getResource()

答案 2 :(得分:1)

在jar中你可以使用

getClass().getClassLoader.getResourceAsStream();

当你获得流时,你可以做任何你想做的事。

但请记住,在运行时使用resourseStream时,netbeans中的项目可能无法正常工作,但是当你制作jar时它会起作用。