Я не могу найти правильную комбинацию пути и класса против ClassLoader.
Вот структура каталогов моего проекта:
- сборка / классы / проект / MainClass.class
- сборки / классы / ресурсы / изображения / an_image.png
- сборка / классы / ресурсы / ImageLoader.class
Источник для ImageLoader выглядит следующим образом:
public class ImageLoader {
public ImageLoader(){...}
public BufferedImage loadImage(String fileName) {
String loc = "resources" + File.separator + "images" + File.separator;
URL imgURL = this.getClass().getResource(loc + fileName);
BufferedImage img = null;
try {
img = ImageIO.read(imgURL);
} catch (IOException e) {...}
return img;
}
}
Я не совсем уверен, какая разница будет между этим и this.getClass().getClassLoader().getResource()
, но я пробовал это с различными комбинациями путей, и я просто не могу заставить .jar найти и загрузить ресурсы.
Где я иду не так?
Спасибо.