Логотип блога MY

 ВЕБ-ТЕХНОЛОГИИ

 Домен itworldmy.ru - блог MY

начинающим

Компиляция Java через cmd. Решаем проблемы с кириллицей

Бывает так, что в при компиляции Java через cmd появляется сообщение - error: unmappable character for encoding windows-1252 (недопустимый символ для кодировки windows-1252) и на этом этапе компиляция аварийно завершается. Необходимо отметить, что подобного рода проблемы возникают, как правило, с Windows. Также хотелось бы уточнить - cmd является аббревиатурой словосочетания «command line interpreter» (интерпретатор командной строки), если кратко «командная строка», а еще короче «консоль» или «терминал».

Пример Java кода Компиляция Java кода через cmd

Исходные данные

Из представленных скриншотов, можно видеть, что данный исходный код с кодированием utf-8 находится в среде Windows 7, где кодировка cmd по умолчанию - cp866.

Процесс компиляции

Ошибку устраняем следующим образом - javac -encoding utf8 Solution.java . Тем самым сообщаем JDK, что кодировка компилируемого исходного кода - utf-8. Теперь процедура компиляции Java через cmd завершается успешно и в папке solution появляется новый файл — Solution.class . Запускаем его на выполнение с помощью - java Solution и видим, что файл выполняется успешно и кириллица в командной строке отображает корректно.

В качестве эксперимента, меняем кодировку в командной строке на 1251 набрав — chcp 1251, снова запускаем файл Solution.class. Опять все корректно выполняется и отображается. Для наглядности, все вышеперечисленные действия можно видеть в выше представленных скриншотах.

В сущности, ошибки не было, а была лишь необходимость сообщить JDK установленную кодировку в исходном коде. На такое решение меня, в свое время, натолкнула мысль, что компиляция одного и того же кода в Linux, в отличие от Windows, выполняется корректно.

Демонстрация в Linux

Из представленного ниже скриншота следует, что терминал настроен на utf-8, а компиляция осуществляется этого же самого кода, что и в предыдущем случае, только в данном примере все выполняется успешно с первого раза.

Компиляция Java кода через cmd Ubuntu>

Итог

Ничего сложного, решение весьма простое. Полагаю, подобным же образом решаются другие аналогичные проблемы.

Конечно, может возникнуть вопрос: “А зачем нужна эта морока с компиляцией Java через cmd?” Ведь гораздо проще и быстрее то же самое выполнить с помощью программных средств весьма комфортных (Ant, Maven и др.). Все дело в том, что желающим стать профессионалами IT необходимо уметь пользоваться cmd. Это в будущем обязательно пригодится и всегда выручит в трудной ситуации, когда графический интерфейс будет бессилен.

А в заключении хочется еще посоветовать начинающим, уметь работать хотя бы в одной UNIX подобной операционной системе. Их весьма много: FreeBCD, NetBSD, Solaris, Linux со множеством дистрибутивов и др. Всегда можно подобрать что-то на свой вкус. Это особенно необходимо тем, кто желает заняться серверными решениями.


Комментарии
Опубликовано: 0
Ждущих публикации: 0


Ваше имя:
(не более 20 символов)

Ваше сообщение:
(не более 1000 символов)



Новое в разделах

Делать сайт / MYsiteD

Разное

Архив Новостей


Данные

Время  - 06:20:33
Дата - 05.10.2022

Страница:
 - обновлена - 15.07.2022
 - посещений - 461

Сейчас:
 - на сайте - 1
 - переходов - 1


↑ ВВЕРХ