defining root classpath for class.getResource()
Asked Answered
C

1

7

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...)

Centonze answered 30/9, 2013 at 21:54 Comment(0)
Z
4

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/*

Zared answered 30/9, 2013 at 22:18 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.