Runnable JARs missing Images/Files (Resources)
When I export my code as runnable JAR from eclipse all the files that I've set it to grab such as button images and other files are missing even though they are actually in the JAR. I've added getClass().getResource
in front of the files but then when I try to run the JAR nothing even happens, any suggestions?
Solution 1:
Seems like you not putting your stuff in the right sense. In order to make it work, follow these steps :
- Right-Click your
Project
inProject Explorer Tree
. - Go to
New -> Source Folder
and then provide anyName
to theSource Folder
. - Now manually add your stuff to this
Source Folder
so created by you, like if you want to add images then make aNew Folder
, by manually visiting thisSource Folder
throughFile System
. - Name this
New Folder
asimages
and copy your images to thisFolder
. - Now go back to your Eclipse IDE and
Refresh
yourProject
from the Project Explorer, by Right Clicking your Project, here you be able to see your added content now after refreshing.
Now in order to access, say any image, you will use.
getClass().getResource("/images/yourImageName.extension");
which will return one URL object. Do remember the first forward slash
, in this case, since whatever is inside your Source Folder is accessed with the help of this, in simpler terms. Now when you will Run your project, the content of this Source Folder will be automatically added to the bin folder and when you will create a Runnable Jar, then the stuff inside your Source Folder can be accessed as it is.
Solution 2:
The path needs to be right for the resource.
For "foo.gif" being at the root of the jar, you must refer to it using "/foo.gif".
If the program works correctly after a complete clean and rebuild, but fails as a jar, you most likely do not have the files included in the jar.