Mam problem, bo mam dwa sposoby wskazywania ścieżki obrazów oraz dźwięków w aplikacji, ale tylko jeden z nich działa odpalając program przez IDE, a jeden uruchamiając zbudowaną apkę w *.jar
ze.
Ten działa w IDE, ale nie działa w *.jar
ze:
ImageIO.read(new File(filename));
clip.open(AudioSystem.getAudioInputStream(new File(filename)));
Ten działa w *.jar
ze, ale nie działa w IDE:
ImageIO.read(getClass().getClassLoader().getResource(filename));
InputStream is = getClass().getClassLoader().getResourceAsStream(filename);
clip.open(AudioSystem.getAudioInputStream(new BufferedInputStream(is)));
Struktura plików wygląda tak
I nawet jeżeli przemieszczę folder resources
do src
, do main
, do java
, albo do content root
i podaję za filename
=resources/plik.wav
czy plik.wav
to niestety pierwsza wersja nigdy nie działa w *.jar
. Natomiast żadna z powyższych konfiguracji nigdy nie działa przy zastosowaniu drugiego przypadku w IDE.
Nie chcę mieć dwóch sposobów podawania ścieżki do debuga i do kodu do builda. Co robić?
Chciałbym zrobić tak żeby jeden z nich działał i w IDE i w *.jar
ze.