W programie, który tworzę, potrzebuję dostępu do obrazów w folderze umieszczonym obok niego. Program działa dobrze, gdy uruchamiam go z Eclipse, ale kiedy eksportuję go do pliku .jar, nie uzyskuje on poprawnie lokalizacji folderu.

File roomF = new File("Assets/Rooms/1/0.png");

W IDE roomF odnosi się do poprawnej lokalizacji:

C: \ Users \ [Nazwa użytkownika] \ Desktop \ Eclipse Java \ [Nazwa projektu] \ Assets \ Rooms \ 1 \ 0.png

Jednak w pliku .jar odnosi się do tego:

C: \ Users \ [Nazwa użytkownika] \ Assets \ Rooms \ 1 \ 0.png.

Jak mogę to naprawić?

0
Hippopotoman 26 marzec 2020, 15:23

2 odpowiedzi

Najlepsza odpowiedź

Nie powinieneś mieć zasobów poza swoim plikiem JAR lub zależnościami, które wymagają lokalnej ścieżki do pracy. Utwórz folder zasobów w swoim projekcie i załaduj stamtąd plik.

1
Diogo Andrade 26 marzec 2020, 12:31

Istnieją dwa rozwiązania tego problemu:

  1. Umieść swój JAR na:

    „C: \ Users [nazwa użytkownika] \ Desktop \ Eclipse Java”

W ten sposób, gdy uzyskujesz dostęp do Assets/Rooms/1/0.png, wskazuje on właściwą lokalizację.

  1. Utwórz folder, w którym za każdym razem będziesz umieszczać swój plik JAR. Utwórz ścieżkę „Zasoby / Pokoje / 1” w folderze i umieść tam plik 0.png, dzięki czemu nie będziesz musiał umieszczać swojego pliku JAR za każdym razem, gdy tworzysz nowy, jak powiedziano w kroku 1.
0
Rajvir 26 marzec 2020, 12:32