Als jemand, der kürzlich ein libGDX-Spiel auf Steam veröffentlicht hat, bietet Steam im Gegensatz zu .NET und DirectX keine Option für Ihre Anwendung, um die von Ihnen benötigte Version dieser Bibliotheken automatisch zu überprüfen und herunterzuladen.
Es ist für den Benutzer aufdringlich, Java als Systembibliothek zu installieren, da die meisten die JRE, insbesondere die von Oracle, immer noch als eine Art Adware- / Sicherheitslücke betrachten und nicht möchten, dass sie auf ihrem Computer installiert wird. Es gibt immer noch ein Stigma in Bezug auf Java-Anwendungen auf dem Desktop, daher müssen Sie den Benutzer berücksichtigen.
Ich empfehle die Verwendung der Packr-Anwendung von libgdx , die Ihr JAR und Ihre Ressourcen automatisch mit einem geeigneten, privaten OpenJDK verpackt , das für die Verwendung und Verteilung mit Ihrer Software geöffnet ist. Alternativ können Sie dies manuell tun, indem Sie den inoffiziellen OpenJDK-Build , den sie in packr verwenden, abrufen und in Ihr Projekt aufnehmen.
Ich persönlich mache diese letztere Option, da ich die neueste Version heruntergeladen und alles gepackt habe, einschließlich der Verteilung an Steam, alles im Gradle-Build-Skript meines Projekts.
Das Einbeziehen Ihres eigenen JRE / JDK ist leichtgewichtig, fügt Ihrem Spiel nur etwa 80 MB hinzu und ist nicht invasiv. Dies stellt auch sicher, dass die Java-Version, mit der Sie Ihre Anwendung ausführen, immer die Version ist, die Sie benötigen, anstatt mit dem System in Konflikt zu geraten.
Bearbeiten: 13. März 2017
Seit etwas mehr als einem Jahr verwende ich Azul's OpenJRE anstelle der inoffiziellen Builds von Alexkasko. Sie sind weit verbreitet und werden auch in Unternehmensumgebungen unterstützt. Außerdem unterstützen sie Java 8 und höher, wobei zum Zeitpunkt meines Wechsels die inoffiziellen Build-Repository-Versionen bei Java 7 stecken blieben.
Seit meinem Wechsel gibt es jetzt auch ein Open-Source-Repository , das weiterhin von der Community erstellte Versionen von openjdk / jre bereitstellt, wenn Sie dies stattdessen verwenden möchten. Beide sind gut.