我有一个maven项目,其中有一个JFrame
,我想设置Frame的图标图像,以便设置按钮的图标图像。
我的图标图片存在于包com.foo.bar.frame.images
中。我已经设置了正确的按钮图标图像,但是当我运行maven项目时,它会犹豫不决:
SEVERE: null
java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:167)
at com.intel.jiratool.jiraexcelclient.view.ExcelView.initComponents(ExcelView.java:119)
at com.intel.jiratool.jiraexcelclient.view.ExcelView.<init>(ExcelView.java:40)
at com.intel.jiratool.jiraexcelclient.Main.main(Main.java:54)
第167行:
btnClose.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/com/intel/jiratool/jiraexcelclient/view/images/32px-Crystal_Clear_action_exit.png"))); // NOI18N
此外,当我转到存放jar文件的目标文件夹时,如果我检查它,则没有任何图像。
我该如何处理这种情况?也许在maven的POM文件中包含一些东西?
最诚挚的问候,
圣地亚哥.-
答案 0 :(得分:2)
图像所在的Maven源/资源路径中的位置是什么?
我怀疑
/src/main/resources/com/foo/bar/frame/images
如果您的POM设置为生成类似JAR的包,则unzip -l target.jar
会向您显示图像是否确实位于正确位置的JAR(事物)中。这将表明它是否是Maven问题(通过不包括包中的图像)或运行时问题(通过不从正确的位置加载图像)。
指出放置图像的位置,确保图像在包中,并指明在运行时如何指定图像位置。