#java #eclipse
#java #eclipse
Вопрос:
Я сделал простую игру на основе командной строки на Java, только два класса (с использованием Eclipse). Но мне было интересно, как я могу превратить это в удобное приложение для всех, не запуская его через eclipse (т. Е. Отправить его кому-то, кто ничего не знает о Java, но все равно сможет играть в игру)? Спасибо!
Комментарии:
1. Создайте
.jar
файл: download.oracle.com/javase/tutorial/deployment/jar/build.html
Ответ №1:
Вы хотите создать исполняемый файл jar.
В Eclipse есть опция для этого в меню «Экспорт». Для получения дополнительных опций найдите «исполняемый jar-файл» здесь или в Google.
Вы хотите убедиться, что вы также включаете любые файлы jar, от которых зависит ваш код (Eclipse также может сделать это за вас).
Пользователи смогут запустить это, дважды щелкнув по файлу на большинстве платформ. Если вам нужна лучшая интеграция (например, пользовательский значок), вам нужно будет дополнительно объединить его в исполняемый файл для конкретной ОС. Но для начала, простой запускаемый jar работает нормально.
отправьте его кому-нибудь, кто ничего не знает о Java
Вам нужно заставить их, по крайней мере, установить среду выполнения Java на свой компьютер (если она еще не установлена).
Комментарии:
1. Спасибо! Я смог это сделать и сгенерировать файл jar, но когда я пытаюсь его запустить, он говорит, что его нельзя запустить. Есть идеи, что я мог сделать неправильно? Кажется, я не могу получить более конкретную информацию о том, почему это не удалось.
2. Итак, я думаю, что нашел проблему — мой основной метод (который принимает аргументы [] ) выдает исключение нулевого указателя. Хм … не уверен, почему это происходит — он отлично работает в eclipse?
3. @Madeline — опубликуйте больше своего кода и объясните, почему он не работает при редактировании, или откройте новый вопрос и примите этот … на ваше усмотрение.
Ответ №2:
Просто для ясности, «командная строка» и «ничего не знает о Java», вероятно, не будут работать очень хорошо для вас, учитывая, что:
java не зависит от операционной системы, поэтому, если вы отправляете (предположительно) файл jar, скажем…у вашей бабушки, и у нее есть mac, а у вас есть ПК, скорее всего, заставить его работать будет непросто, так сказать, «из коробки».
Оставшись с этим, я думаю, у вас есть пара вариантов…во-первых, вам нужно упаковать свои классы — выполняемый jar будет работать нормально. Помимо этого, вам, скорее всего, придется создавать скрипты, специфичные для ОС (пакетные скрипты для Windows, скрипты оболочки для unix и т. Д.), И вам придется передавать их вместе с вашим файлом jar. При этом предполагаемому пользователю все равно потребуется установить Java, а сами пакетные сценарии вряд ли будут тривиальными усилиями.
Следующим вариантом будет использование JNLP. Однако я не думаю, что в JNLP есть режим командной строки, поэтому вам, вероятно, придется имитировать консоль с помощью чего-то вроде JTextArea.
Насколько я понимаю, ваш последний вариант — использовать один из многих продуктов (не уверен, есть ли какие-либо бесплатные), которые упаковывают java в машинный код. Я думаю, что Exe4j — один из таких примеров, но, как я уже сказал, я не уверен, есть ли какие-либо бесплатные, и я не уверен, насколько сложно их использовать.
Желаю удачи, и если вы не можете заставить свой jar работать, вам, вероятно, следует перенести это на свой собственный вопрос.