Jako osoba, która niedawno wydała grę libGDX na platformie Steam, w przeciwieństwie do platform .NET i DirectX, Steam nie zapewnia w Twojej aplikacji opcji automatycznego sprawdzania i pobierania wymaganej wersji tych bibliotek.
Uciążliwe jest zmuszanie użytkownika do instalowania Javy jako biblioteki systemowej, ponieważ większość nadal postrzega środowisko JRE, zwłaszcza Oracle, jako coś w rodzaju dziury w oprogramowaniu reklamowym / bezpieczeństwie i nie chce mieć go zainstalowanego na swoim komputerze. Wciąż istnieje piętno w stosunku do aplikacji Java na pulpicie, więc trzeba uważać na użytkownika.
To, co polecam, to użycie aplikacji packr libgdx , która automatycznie spakuje twój słoik i zasoby odpowiednim, prywatnym OpenJDK, który jest otwarty do używania i dystrybucji z twoim oprogramowaniem. Alternatywnie możesz to zrobić ręcznie, chwytając nieoficjalną kompilację OpenJDK , której używają w packr i dołączając ją do twojego projektu.
Ja osobiście wybieram tę ostatnią opcję, ponieważ pobieram najnowszą wersję i pakuję wszystko, łącznie z dystrybucją do Steam, wszystko zawarte w skrypcie budowania stopni mojego projektu.
Dołączenie własnego środowiska JRE / JDK jest lekkie, dodaje jedynie 80 MB do gry i jest nieinwazyjne. Zapewnia to również, że wersja Java, z którą uruchamiana jest aplikacja, jest zawsze potrzebną wersją, zamiast powodować konflikt z tym, co ma system.
Edycja: 13 marca 2017 r
Od nieco ponad roku korzystam z OpenJRE Azul zamiast nieoficjalnych kompilacji z Alexkasko. Są szeroko stosowane i obsługiwane nawet w środowiskach korporacyjnych. Dodatkowo obsługują Java 8 i nowsze wersje, gdzie w momencie mojego przełączenia nieoficjalne wersje repozytorium kompilacji utknęły w Javie 7.
Odkąd się zmieniłem, istnieje także repozytorium open source , które nadal udostępnia wersje openjdk / jre zbudowane przez społeczność, jeśli chcesz z nich korzystać. Obie są dobre.
Niektórzy użytkownicy mogą nie mieć zainstalowanej Java i nie sądzę, że Steam ma natywny sposób sprawdzania / instalacji Java, ponieważ byłoby to irytujące dla użytkownika, a tylko niewielka część gier na Steam wymaga Java.
Spróbuj dołączyć przenośne środowisko Java Runtime Environment, aby zawsze mieć spójną kompilację Java do uruchamiania gry, jestem pewien, że jest kilka takich, które będą odpowiadać Twoim potrzebom.
źródło
Rozwój Java może być koszmarem, jeśli chodzi o wdrożenie; ale istnieją narzędzia, które to ułatwią.
Na przykład możesz użyć narzędzia takiego jak
Launch4j
spakować swoją ostateczną grę; opcjonalnie możesz powiedzieć mu, aby zawierał JRE (lub nie), aby utworzyć w pełni samodzielny plik binarny.W ten sposób nie obchodzi Cię, czy lub jakie środowiska JRE zainstalował klient; po prostu spakujesz aplikację i wyślesz ją. Minusem jest to, że twój końcowy plik binarny będzie znacznie większy.
źródło