Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Creating a Self-Contained Jar

 
Gad Flailimbs
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've looked around and read some stuff but I'm still confused on how to get my Jar file to be self-contained. I'm using Eclipse with separate Source and Class folders. I use about 40 different images while running my program and they're all in different folders.

I've tried:

getClass().getResource("Images/character.gif")

I've also read about some ClassLoader you can use to get a similar effect:

ClassLoader cldr = this.getClass().getClassLoader();
ImageIcon area2 = cldr.getResource("Maps/area2.png");

Neither of these seem to work. I've tried putting all the files in the source and bin folders. Regardless of all of this I still can't seem to get it to work properly. The Jar's just won't function without those folders near them even though I include the folders & files in the jar when I create it.

What do I need to do to get this to work?
 
Ulf Dittmer
Rancher
Pie
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You'll need to start the path with a slash, as in
 
Wayan Saryada
Ranch Hand
Posts: 105
IntelliJ IDE MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

You can also use:

 
Gad Flailimbs
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How about if I want to read in a text file from the jar? I've found that some constructors for Readers don't like reading from URLs that getClass().getResource("maps.txt") provide.

Would I use something like the following:
getClass().getResource("maps.txt").getPath(); ?

I think the class I'm using for reading files is the Scanner but I'll have to check on that.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic