I made a java application and bundled all classes in a jar file. When I run the project from eclipse, my application is running successfully. But when I try to run my
The files in jar files are treated as "Resources". you need to access them as a classpath resource, regular File access methods does not work there.
Try this:
final public ImageIcon iReport = (new ImageIcon(getClass().getResource("images/Report.png")));
I know this was asked long ago, but it might help others with the same problem, like me. I was already using getClass().getResource("..."), but the resource didn't get exported with .jar file. I solved the problem by refreshing the 'Resources' folder, and its every subfolder.
You need to get it from the classpath instead of from the local disk file system.
Assuming that images
is actually a package and that this package is inside the same JAR as the current class, then do so:
final public ImageIcon iReport =
new ImageIcon(getClass().getResource("/images/Report.png"));
100% works
final public ImageIcon iReport = new ImageIcon(getClass().getResource("/Report.png"));
Don't forget about "/" at path
for image.