wood burning stoves 2.0*
The moose likes Game Development and the fly likes Embed Resources for Game (Images, sounds, etc) in JAR File so Executable JAR File Works Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Game Development
Bookmark "Embed Resources for Game (Images, sounds, etc) in JAR File so Executable JAR File Works" Watch "Embed Resources for Game (Images, sounds, etc) in JAR File so Executable JAR File Works" New topic
Author

Embed Resources for Game (Images, sounds, etc) in JAR File so Executable JAR File Works

Ike Gentz
Greenhorn

Joined: Jan 01, 2013
Posts: 15
Hi all,

I have a Sonic game I am in the process of building and must say it is coming along quite nicely. I've got everything up and running, except for this one little issue. Now, my friends who are helping all have a Java IDE of some form or another and are able to simply open the project in thier IDE and handle things form there. However, now that the game is nearing completion I must start thinking about distribution, therefore I thought to myself "Well, the easiest way is to pack everything in an executable .jar file and BAM! Double click and enjoy the game". However, whenever I generate the exec .jar by doing a clean and build in Netbeans, it generates the .jar, I go to the dist folder and double click to run, but none of my files appear, just the blank JFrame without any graphics or sounds.

Now here is the interesting thing...
I went back to a previous version of the project where my filepaths I passed in to my "Artist" class (class I wrote methods in for handling images and sounds) are all pointing to specific places on my hard drive. However, yesterday I went and added all my files to a "Resources" folder on the same level in the project directory as the dist, build, src, etc... folders. When I call my filepath now instead of something like "C:\\Users\\Ike\\Sonic Game\\Pictures\\Sonic_Running.png" I am able to simply call something like "Media\\Images\\Sonic_Running.png" and all is fine and dandy when running it from the IDE. BUT... then I try and build this executable .jar file and all my hard work vanishes into a blank JFrame when I run it from the executable .jar despite still running fine within the IDE.

Here is a video I made detailing the problem...
http://www.youtube.com/watch?v=0L1XYmbCLV0&feature=youtu.be

If you could write out some step by step directions for how exactly to get the project to run from the executable .jar file I would really appreciate it, as well as a bunch of people on the internet looking foward to this game. Thanks
Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
> If you could write out some step by step directions for how exactly to get the project to run from the executable .jar file

step-by-step to get help:

1) add an image to a JLabel
2) add the label to a JFrame
3) compile/run in IDE - if image appears OK, goto (4)
4) make a .jar file out of it
5) open .jar file - if no image, goto (6)
6) post the code here, so we can see what you're doing

> Here is a video I made detailing the problem...

useless, unless it shows the code
Ike Gentz
Greenhorn

Joined: Jan 01, 2013
Posts: 15
Well, after spending a good 3 days straight working on this I managed to stumble across this page...

http://www.vbforums.com/showthread.php?595275-RESOLVED-Images-embedded-into-JAR-file
Not sure how my countless prior Google searches did not come up with this but nevertheless this was pretty much my exact problem (except for the spelling issues). All I gotta do is rework my ImageHandler, AudioPlayer, and FileHandler classes to create a URL and have whatever class is using it use that instead. It is a shame though this beautiful, elegant, lovely code I constructed and have been using for this project for a year now needs modifications but oh well, they are small and easy to do, just a little tedious going through each adn every place I use these classes on my pretty-much-ready-to-distribute game. Oh well..

Anyways, I seem to have resolved my own problem. Sorry to be any inconvience.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Embed Resources for Game (Images, sounds, etc) in JAR File so Executable JAR File Works