Как мне сделать java .exe, чтобы позволить пользователю взаимодействовать так, как я бы делал в командном окне eclipse?
Я написал простой код Java, который будет принимать простые входные данные от пользователя в командном окне (для меня eclipse), используя nextInt() и nextLine(). Однако я понял, что другим нужен JRE (я полагаю?) На своем компьютере для запуска созданного исполняемого файла JAR. Поэтому мне было интересно, есть ли способ обойти это, заставляя приложение создавать окно, похожее на командное окно, чтобы иметь то же взаимодействие, что и командное окно в eclipse.
Итак, если бы я запустил.jar или.exe, то всплыло бы простое окно, которое действует как консоль затмения, отображая строки из System.out.println() и т. Д.
2 ответа
Для программ, написанных на Java, они скомпилированы как jar-файл, как вы упомянули, и чем эти скомпилированные версии вашего исходного кода отличаются от многих других языков программирования в том, что они не содержат ассемблер / машинный код, как, например, скомпилированный C Программа будет иметь. Вместо этого они компилируются как байт-код. Какой специальный код для выполнения виртуальной машиной Java. Вот хорошая ссылка на Википедию: ссылка
Чтобы ответить на ваш вопрос, да, другим нужен JRE (Java Runtime Environment), и это может быть:
Установлены сами (это то, что вы упомянули)
Поставляется вместе с вашим Java-приложением, чтобы обеспечить удобство загрузки и нажатия.
Для варианта 1, предполагая, что он уже установлен, они могут просто запустить его, выполнив jar-файл с javaw, более подробная информация об этом есть в этом ранее отвеченном вопросе SO.
Для варианта 2 процесс довольно длительный, и я укажу вам официальные документы, которые будут ссылаться на: автономные исполняемые файлы и развертывание Java-приложений.
Если у вас есть более сложный проект со сторонними библиотеками, а что нет, посмотрите на этот ТАК вопрос
В прошлом я также находил launch4j, кроссплатформенную оболочку, очень полезной, она автоматизирует процесс перехода от jar к исполняемому файлу (сделал простую игру, использующую Swing, простой и некрасивой вещью), но тем не менее, пользователю все еще нужна JRE.:)
Надеюсь это поможет!
- Для запуска Java-программы вам нужен JRE. Обойти это невозможно.
- Если вам нужна консоль, ничто не мешает вам запускать java-программу из командной строки Windows, которая будет делать именно то, что вы просите.
- Вам все еще нужна JRE.
К сожалению, когда вы начинаете изучать Java с помощью Eclipse, многие люди упускают возможность хотя бы начать понимать, как сделать то же самое из командной строки, что, если вы спросите меня, полезно знать.