Почему мои изображения не загружаются в скомпилированный файл .jar?
Объяснение: в настоящее время я программирую игровую библиотеку на Java с помощью IntelliJ IDEA Community Edition. Я использую jSFML в качестве мультимедийной библиотеки. Я попытался отрендерить спрайт, используя вики-страницу jsfml, и все, казалось, работало нормально, поэтому я пошел дальше.
Проблема: Позже я попытался скомпилировать библиотеку с тестовой игрой и понял, что спрайт игрока не может быть загружен. Когда он запускается из редактора, все в порядке, но если я запускаю его вне редактора, он не работает. Это дает мне эту ошибку, что, я считаю, означает, что файл не существует, я не знаю:
java.io.IOException: Failed to load image "C:\src\main\resources\Player.png". Reason : Unable to open file
at org.jsfml.graphics.Texture.loadFromFile(Unknown Source)
at org.jsfml.graphics.Texture.loadFromFile(Unknown Source)
at filipeex.gamer.library.core.GameRenderer.DisplaySprite(GameRenderer.java:32)
at filipeex.gamer.library.gameobjects.Player.FrameRender(Player.java:38)
at filipeex.gamer.library.core.Game.FrameRender(Game.java:118)
at filipeex.gamer.library.core.Game.InitLoop(Game.java:206)
at filipeex.gamer.library.core.Game.InitWindow(Game.java:180)
at filipeex.gamer.library.core.Game.Start(Game.java:52)
at filipeex.gamer.library.testing.TestingAsUser.main(TestingAsUser.java:29)
Это код для загрузки текстуры и ее рендеринга в окно:
GameRenderer.DisplaySprite("/src/main/resources/Player.png", position, rotation);
И сам метод:
Texture t = new Texture();
t.loadFromFile(Paths.get(path));
Sprite s = new Sprite(t);
s.setPosition(position.x, position.y);
s.setScale(1, 1);
s.setRotation(rotation);
GameWindow.Get().draw(s);
Я уже:
- искал много похожих вопросов,
- перепробовал все возможные решения от них, включая добавление каталога в артефакт, не сработало.