На главную

Веб-технологии

Домен itworldmy.ru

 -   практика  начинающим


Компиляция 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 символов)




ВНИМАНИЕ!
Все поля должны заполнены.



↑ ВВЕРХ