Как запускать приложения и игры Java на Windows
Эпоха MS-DOS осталась далеко позади, однако игры под эту консольную операционную систему не утратили популярности до сих пор, по крайней мере среди тех, кто застал время рассвета Microsoft. Запускать олдскульные игры можно в установленной на виртуальную машину MS-DOS, на многочисленных десктопных и мобильных эмуляторах и даже в браузерах. А вот любителям игрушек Java повезло в гораздо меньшей степени.
Пользующихся в свое время немалой популярностью среди обладателей кнопочных мобильных телефонов, ведь позволяющие запускать Java-приложения в среде Windows инструменты можно пересчитать по пальцам.
KEmulator Lite
Наиболее популярным инструментом для запуска Java-приложений является эмулятор KEmulator Lite. В отличие от других java-эмуляторов, KEmulator Lite работает более корректно, а вероятность удачного запуска в нём java-программ значительно выше. Другим его преимуществом является широкий спектр доступных инструментов и настроек в частности масштабирование, запись нажатия кнопок и игрового процесса, создание скриншотов, изменение скорости воспроизведения.
В распакованном виде KEmulator Lite весит 52 Мб, в использовании прост:
Чтобы запустить в нём java-приложение, достаточно выбрать меню «Файл» опцию «Загрузить jar…» и указать путь к исполняемому файлу приложения Java .
Простота, удобство и функциональность эмулятора, однако, не освобождает от необходимости установки на ПК компонента Java с официального сайта компании Oracle www.java.com/ru/download/manual.jsp. Официальный сайт эмулятора давно не работает, ищите его в Интернете или качайте по ссылке disk.yandex.ru/d/CobN3bNt8etAUQ.
Sony Ericsson SDK
Если с KEmulator Lite вас постигнет неудача, попробуйте Sony Ericsson SDK. Возни с этой платформой больше, но и вероятность того, что приложение или игра на Java запустится, выше.
Найти и скачать платформу можно в Интернете, также вы можете загрузить ее по ссылке disk.yandex.ru/d/eGeOBNfJlMEfRQ. В архиве по ссылке найдете не только SDK , но и необходимый для ее корректной работы набор библиотек Java SE Development Kit. А еще в архиве вы найдете портативную программку JADMaker, без нее не обойтись. Java SE Development можно также скачать с официальной страницы разработчика:
Версий там много, ищите на странице компонент Java SE Development Kit 8u191 x86 для 32-битных систем.
Первым установите Java SE Development Kit, установку выполняем с настройками по умолчанию.
Затем запустите установщик Sony Ericsson SDK . Программа тут же предложит выполнить автоматический поиск каталога библиотек Java SE Development Kit, согласитесь и нажмите в диалоговом окошке «Да».
Начнется установка эмулятора, которую так же выполняем с настройками по умолчанию. По завершении установки программа попросит сконфигурировать штатный брандмауэр для своей корректной работы. Нажмите «Да».
Подготовка к работе
Перед тем как приступать к работе с эмулятором, нужно выполнить две задачи: выбрать эмулируемое по умолчанию мобильное устройство и сконвертировать исполняемые файлы JAR в JAD , так как Sony Ericsson SDK не умеет напрямую работать с JAR-файлами.
Откройте меню Пуск и выберите в разделе «Sony Ericsson» опцию «Default Device Selection».
Откроется небольшое окошко с выпадающим списком, в котором можно будет выбрать модель виртуального телефона, используемого для запуска Java-приложений по умолчанию.
Выбираем модель и сохраняем настройки.
Теперь запустите утилиту JADMaker и перетащите на ее окошко JAR -файл приложения или игры, в результате чего он тут же автоматически будет сконвертирован в файл JAD .
Запуск Java-приложения
Возвратитесь в меню Пуск и на этот раз запустите модуль «Run MIDP Application».
Откроется окошко, в котором вам нужно будет указать путь к сконвертированному файлу JAD .
В результате должно открыться окно эмулятора в виде мобильного телефона, на «экране» которого будет отображено название открываемого приложения.
Запустите его нажатием кнопки «launch».
Управление выполняется с помощью эмулируемых кнопок, при необходимости окно эмулятора можно повернуть горизонтально, установив ползунок в верхней части окна в позицию 90 градусов.
Если приложение не запускается
Sony Ericsson SDK работает в Windows 7, 8.1 и 10, однако нельзя дать гарантии, что платформа будет работать именно в вашей сборке. Также учитывайте возможную несовместимость Java-приложения с виртуальным мобильным устройством:
Если приложение не запускается на одном «телефоне», выберите в меню «Default Device Selection» другую модель.
Если дела не ладятся, можно попробовать другой способ запуска приложений Java, например, путем компиляции исходного кода Java-приложения с помощью платформы IntelliJ Platform, работу с которой мы рассмотрим в следующий раз.
Источник: www.white-windows.ru
Как я могу написать приложение Java, которое может обновляться во время выполнения?
Я хотел бы реализовать Java-приложение (серверное приложение), которое может загружать новую версию (файл .jar) с заданного URL-адреса, а затем обновлять себя во время выполнения. Как лучше всего это сделать и возможно ли это? Я предполагаю, что приложение может загрузить новый файл .jar и запустить его. Но как мне выполнить передачу, например, узнать, когда новое приложение запущено, а затем выйти. Или есть способ лучше?
задан 23 окт.
Вы смотрели на Java Web Start? Хотя я считаю, что он не обновляется во время выполнения (требуется перезагрузка), для этого вам, вероятно, нужно взглянуть на OSGi. — Thilo
Дизайн Java WebStart API делает невозможным обновление во время работы. К несчастью. — Thorbjørn Ravn Andersen
9 ответы
- Существует основной цикл, отвечающий за многократную загрузку последней версии приложения (при необходимости) и ее запуск.
- Приложение делает свое дело, но периодически проверяет URL загрузки. Если он обнаруживает новую версию, он возвращается в программу запуска.
Есть несколько способов реализовать это. Например:
- Средство запуска может быть сценарием-оболочкой или двоичным приложением, которое запускает новую JVM для запуска приложения из заменяемого файла JAR.
- Средство запуска может быть приложением Java, которое создает загрузчик классов для нового JAR, загружает класс точки входа и вызывает для него какой-либо метод. Если вы сделаете это таким образом, вам придется следить за утечками хранилища загрузчика классов, но это несложно. (Вам просто нужно убедиться, что никакие объекты с классами, загруженными из JAR, не доступны после перезапуска.)
Преимущества подхода внешней оболочки:
- вам нужен только один JAR,
- вы можете заменить все приложение Java,
- любые вторичные потоки, созданные приложением и т. д., уйдут без специальной логики завершения работы, и
- также можно заниматься восстановлением после сбоев приложений и т. д.
Второй подход требует двух JAR, но имеет следующие преимущества:
- решение — чистая Java и портативное,
- переключение будет быстрее, и
- вы можете легче сохранять состояние при перезапуске (проблемы с утечкой по модулю).
«Лучший» способ зависит от ваших конкретных требований.
Также следует отметить, что:
- При автоматическом обновлении есть риски безопасности. В общем, если сервер, предоставляющий обновления, скомпрометирован или если механизмы предоставления обновлений уязвимы для атак, то автоматическое обновление может привести к компрометации клиента (ов).
- Отправка обновлений клиенту, которые причиняют ущерб клиенту, может иметь юридические риски и риски для репутации вашего бизнеса.
Если вы найдете способ не изобретать велосипед заново, это будет хорошо. См. Другие ответы для предложений.
В настоящее время я занимаюсь разработкой JAVA Linux Daemon, и мне также потребовалось реализовать механизм автоматического обновления. Я хотел ограничить свое приложение одним файлом jar и нашел простое решение:
Упакуйте программу обновления в само обновление.
заявление: Когда приложение обнаруживает более новую версию, оно выполняет следующие действия:
- Скачать обновление (Zip-файл)
- Извлечь приложение и ApplicationUpdater (все в zip-файле)
- Запустить программу обновления
ApplicationUpdater: При запуске программа обновления выполняет следующие действия:
- Остановите приложение (в моем случае демон через init.d)
- Скопируйте загруженный файл jar, чтобы перезаписать текущее приложение
- Запустить приложение
- Очистка.
Надеюсь, это кому-то поможет.
Это известная проблема, и я не рекомендую изобретать колесо — не пишите свой собственный хак, просто используйте то, что уже сделали другие люди.
Вам необходимо рассмотреть две ситуации:
- Приложение должно быть самообновляемым и продолжать работать даже во время обновления (серверное приложение, встроенные приложения). Перейти с OSGi: Связки or Равноденствие p2.
- Приложение является настольным приложением и имеет установщик. Есть много установщиков с возможностью обновления. Проверять список установщиков.
ответ дан 26 окт ’10, 08:10
Я недавно создал обновление4j который полностью совместим с модульной системой Java 9.
Новая версия будет запущена без перезагрузки.
ответ дан 15 мар ’18, в 17:03
Используя парадигму начального / бизнес-приложения. Загрузочная программа загружает и выгружает бизнес-приложение, и обычно она выполняет обновление. — Мордехай
Я написал приложение Java, которое может загружать плагины во время выполнения и сразу же начинать их использовать, вдохновленное аналогичным механизмом в jEdit. jEdit имеет открытый исходный код, поэтому у вас есть возможность посмотреть, как он работает.
Решение использует собственный ClassLoader для загрузки файлов из jar. Как только они будут загружены, вы можете вызвать какой-нибудь метод из новой банки, который будет действовать как ее main метод. Затем самая сложная часть — убедиться, что вы избавились от всех ссылок на старый код, чтобы его можно было собрать сборщиком мусора. Я не совсем специалист в этой части, я заставил это работать, но это было непросто.
ответ дан 11 апр.
Я не знаю о Java, но в C # вы можете использовать AppDomains для явной выгрузки кода. Может быть, в Java есть похожая концепция. — Мерлин Морган-Грэм
Спасибо, похоже, это верный путь. Вот пример NetworkClassLoader на JavaDoc для ClassLoader — Jonas
У вас возникли проблемы со статическими переменными в той же JVM или как насчет постоянной генерации? Я слышал, что это может вызвать проблемы с разгрузкой класса. — язь
- Первый способ: используйте Tomcat и его средства развертывания.
- Второй способ: разделить приложение на две части (функциональную и обновляемую) и позволить обновленной части заменить функциональную часть.
- Третий способ: в вашем серверном приложении просто загрузите новую версию, затем старая версия освобождает связанный порт, затем старая версия запускает новую версию (запускает процесс), затем старая версия отправляет запрос на порт приложения в новую версию, чтобы удалить старую версию, старую версию завершается, и новая версия удаляет старую версию. Нравится:
ответ дан 26 окт ’10, 08:10
Ваш второй способ кажется интересным. — Jonas
Это не обязательно лучший способ, но это может сработать для вас.
Вы можете написать приложение для начальной загрузки (например, лаунчер World of Warcraft, если вы играли в WoW). Этот бутстрап отвечает за проверку обновлений.
- Если доступно обновление, оно предложит его пользователю, выполнит загрузку, установку и т. Д.
- Если приложение обновлено, это позволит пользователю запустить приложение.
- При желании вы можете разрешить пользователю запускать приложение, даже если оно не обновлено.
Таким образом, вам не нужно беспокоиться о принудительном выходе из вашего приложения.
Если ваше приложение является веб-приложением и важно, чтобы у него был обновленный клиент, вы также можете выполнять проверку версии во время работы приложения. Вы можете выполнять их через определенные промежутки времени, выполняя обычную связь с сервером (некоторые или все вызовы) или и то, и другое.
Для продукта, над которым я недавно работал, мы выполняли проверку версии при запуске (без приложения загрузочного ремня, но до появления главного окна) и во время обращений к серверу. Когда клиент устарел, мы полагались на то, что пользователь завершит работу вручную, но запрещали любые действия против сервера.
Обратите внимание, что я не знаю, может ли Java вызывать код пользовательского интерфейса до того, как вы откроете главное окно. Мы использовали C # / WPF.
ответ дан 23 окт ’10, 05:10
Спасибо, это хороший способ сделать это. Но это серверное приложение, поэтому нет пользователя, который мог бы что-то предпринять. И я бы предпочел, чтобы это был только один файл jar, чтобы пользователь easyli мог загрузить один файл jar и запустить его с самого начала, но после этого я бы хотел, чтобы пользователь не взаимодействовал с ним. — Jonas
Когда вы говорите «серверное приложение», вы имеете в виду, что это приложение, которое запускается непосредственно на сервере при входе в систему? — Мерлин Морган-Грэм
Если вы создаете свое приложение, используя Равноденствие плагины, вы можете использовать P2 система обеспечения получить готовое решение этой проблемы. Это потребует перезапуска сервера после обновления.
ответ дан 26 окт ’10, 19:10
Источник: stackovergo.com
java platform se auto updater что это
Ответ от Boris[гуру]
Auto Updater это вообще то функция авто обновления программы через интернет и отдельно от программ Sun Microsystems типа Java Runtime Environment, либо Java SE Development Kit вы её никак не поставите.
Кратко о назначении этого продукта:
Оригинальная виртуальная Java-машина производства Sun Microsystems, содержит набор компонентов, который устанавливает поддержку Java на компьютер. Она необходима для запуска большинства кросс-платформенных программ, написанных на Java, а также для корректной работы апплетов в браузерах.
Получить по вашему вопросу более подробную информацию, а также загрузить Java можете здесь
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Что такое Java Auto Updater?Зачем ее устанавливать,подскажите пожалуйста!
Источник: 22oa.ru
Java update что это?
Вы можете войти или зарегистрироваться, чтобы добавить ответ и получить бонус.
Лучшие предложения
- Кредитные карты
- Быстрые займы
Совкомбанк
Кред. лимит
Проц. ставка
Без процентов
8 800 200-66-96
sovcombank.ru
Лицензия: №963
39 256 заявок
Кред. лимит
Проц. ставка
Без процентов
до 111 дней
8 800 250-0-520
Лицензия: №2268
17 943 заявок
Ренессанс Кредит
Кред. лимит
Проц. ставка
Без процентов
до 145 дней
8 800 200-09-81
rencredit.ru
Лицензия: №3354
31 949 заявок
Сумма займа
Проц. ставка
Срок займа
До 30 дней
Кред. история
8-800-700-8706
27 881 заявок
Сумма займа
Проц. ставка
Срок займа
До 30 дней
Кред. история
8 800 775-54-54
webbankir.com
32 718 заявок
Сумма займа
Проц. ставка
Срок займа
До 364 дней
Кред. история
От 21 года
8 800 700 09 08
migcredit.ru
23 985 заявок
- Бывает ли у кошек аллергия на людей?
- В честь кого были названы конфеты Mhttps://vamber.ru/question/java-update-chto-eto/» target=»_blank»]vamber.ru[/mask_link]