Как тот, кто недавно выпустил игру libGDX в Steam, в отличие от .NET и DirectX, Steam не предоставляет вашему приложению опцию для автоматической проверки и загрузки необходимой вам версии этих библиотек.
Для пользователя является навязчивым сделать так, чтобы он устанавливал Java как системную библиотеку, поскольку большинство все еще рассматривают JRE, особенно Oracle, как своего рода дыру в рекламе и безопасности и не хотят устанавливать ее на своем компьютере. Все еще существует клеймо к Java-приложениям на рабочем столе, поэтому вы должны быть внимательны к пользователю.
Я рекомендую использовать пакетное приложение libgdx , которое автоматически упакует ваш jar и ресурсы в соответствующий, приватный OpenJDK, который открыт для использования и распространения с вашим программным обеспечением. Кроме того, вы можете сделать это вручную, взяв неофициальную сборку OpenJDK, которую они используют в Packr, и включив ее в ваш проект.
Лично я использую последний вариант, так как загружаю последнюю версию и упаковываю все, включая распространение в steam, все это включено в скрипт сборки gradle моего проекта.
Включая ваш собственный JRE / JDK, он легок, добавляет в вашу игру всего около 80 Мб и неинвазивен. Это также гарантирует, что версия Java, с которой вы запускаете свое приложение, всегда является версией, которая вам нужна, а не конфликтует с тем, что имеет система.
Изменить: 13 марта 2017 г.
Чуть больше года я использую OpenJRE от Azul вместо неофициальных сборок от alexkasko. Они широко используются и поддерживаются даже в корпоративных средах. Кроме того, они поддерживают Java 8 и выше, где на момент моего переключения неофициальные версии репозитория сборок были привязаны к Java 7.
С тех пор как я перешел, теперь есть и репозиторий с открытым исходным кодом , который продолжает предоставлять созданные сообществом версии openjdk / jre, если вы хотите использовать это вместо этого. Оба хорошие.
У некоторых пользователей может не быть установленной Java, и я не верю, что в Steam есть собственный способ проверки / установки Java, поскольку это будет раздражать пользователя, и только небольшая часть игр в Steam требует Java.
Попробуйте включить переносимую Java Runtime Environment, чтобы у вас всегда была согласованная сборка Java для запуска игры, я уверен, что есть такие, которые удовлетворят ваши потребности.
источник
Разработка Java может быть кошмаром, насколько развертывание; но есть инструменты, чтобы сделать это проще.
Например, вы можете использовать такой инструмент, как
Launch4j
упаковка вашей финальной игры; При желании вы можете указать, чтобы он включал JRE (или нет), чтобы создать полностью автономный двоичный файл.Таким образом, вас не волнует, установлены ли или какие JRE установлены клиентом; Вы просто упаковываете свое приложение и отправляете его. Недостатком является то, что ваш окончательный двоичный файл будет значительно больше.
источник