Witam. Mam następujący problem. Zrobiłem program. Kompiluje się bez błędów, chodzi tak jak powinien czyli wszystko jest OK. Można go przerobić na jara. Robie to w następujący sposób:
Mój program znajduje się w Katalogu "c:\Projekt\Gra"
tam mam wszystkie pliki źródłowe oraz już te po kompilacji. Mam tam także jeden plik graficzny "tlo.jpg", który jest wykorzystywany do ładowania tła w grze.
Zaznaczam że bez zamieniania na jara chodzi wszystko jak powinno.
Moją klasą główną jest Test.class
tworze plik "manifest", który tak jest wypełniony w katalogu "c:\Projekt":
Manifest-Version: 1.2
Main-Class: Gra.Test
Created-By: 1.4 (Sun Microsystems Inc.)
w katalogu "c:\Projekt" są takze pliki ".classpath" i ".project", które tworzy eclipse
będąc w katalogu "c:\Projekt" wykonuje takie polecenie:
jar -cvfm0 projekt.jar manifest Gra*.class Gra\tlo.jpg
Odpalam otrzymany plik jar poleceniem
javaw -jar projekt.jar
I działa poprawnie wszystko. Kiedy przeniose sam plik jar do innego katalogu gdzie nie ma już katalogu i po odpaleniu program nie wyswietla tła. I tu jest cały problem.
Szukałem i nie mogłem znaleźć pomocy na ten temat.
Grafike w grze ładuje w taki sposób:
Image bgImage;
bgImage = new ImageIcon("Gra/tlo.jpg").getImage();
Program działa dobrze natomiast gdy przekopiuje go do katalogu gdzie ma widoczność na katalog "Gra\tlo.jpg"
Rozumiem że problem tkwi chyba w metodzie ładującej grafike w programie, ponieważ nie potrafi ona ze swojego jara jej odczytać. Sprawdziłem w jarze wszystkie potrzebne pliki są nawet tlo.jpg tylko jak zrobić by klasa, która jest w tym jarze odzyskała widoczność pliku tlo.jpg. Jeśli ktoś pomoże to chwała mu za to. Z góry dziękuje. Pozdrawiam