Java 11 SE консольный выход - PullRequest
0 голосов
/ 21 января 2020

До Java SE приложение java автоматически выводило поток System.out на консоль (CMD для windows, et c.), Просто запустив java -jar yourprogram.jar.

Однако теперь с Java SE библиотеки и среда выполнения упакованы вместе в один файл JAR, поэтому вам не нужно беспокоиться об установке на вашем компьютере последней версии java.

Это замечательно, и все, но теперь вы не можете запустить файл jar с помощью указанной выше команды, так как он попытается запустить последнюю версию JRE, равную 1.8. Это приведет к сбою с ошибкой java.lang.UnsupportedClassVersionError. В настоящее время я использую SE 11 для своего проекта (намного новее). Если я запускаю исполняемый файл java в CMD только с yourprogram.jar, он запускается, но без какого-либо вывода на консоль.

Я гуглил это уже час, но безуспешно. Как именно я создаю Java SE банку, которая будет выводить на CMD (или любую консоль)?

EDIT: исправлен старый синтаксис команды

1 Ответ

1 голос
/ 21 января 2020

Ваша глобальная команда Java, скорее всего, была установлена ​​в тот или иной момент, чтобы обеспечить Java для браузеров (которая также устанавливает глобально доступную команду Java).

Последние версии Java (Я прежде всего смотрел на OpenJDK), не делайте этого, поэтому глобальная команда Java остается старой и выдает ошибки, которые вы видите.

Самое простое решение - поместить папку bin в Ваша установка находится перед переменной PATH, поэтому новые CMD сначала видят и используют java.

...