user1028741
user1028741

Reputation: 2815

defining root classpath for class.getResource()

I'm using java in Eclipse (windows), and I'm trying to use:

myClass.getResource("/image.jpg"), 

While image.jpg exists in the root loacation "myProject/". It returns null.

I checked many other threads but none of them resolved my issue.

So I tried to evaluate this:

this.getClass().getResource("/").getPath();

and it returned "myProject/build/classes".

So I checked the project's configuration for this dir, and found the exact same dir under

Java Build Path --> Source --> Default output folder

My questions are:

  1. why is the default dir of my resources is the output folder?

  2. As mentioned, I want to get a resource from another folder, but attempts to call "/../" aren't working... How can I then load other resources which are not nested in my classes dir? (I can change my output dir, but I think it will be very ugly...)

Upvotes: 7

Views: 18765

Answers (1)

angel_navarro
angel_navarro

Reputation: 1777

You must put them in the root of "src/" folder ;-)

SRC/ folder is compiled to BUILD/CLASSES/, so all you put in src/* goes to classes/*

Upvotes: 4

Related Questions