问题
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:
why is the default dir of my resources is the output folder?
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...)
回答1:
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/*
来源:https://stackoverflow.com/questions/19104545/defining-root-classpath-for-class-getresource