На главную
Веб-технологии
Домен itworldmy

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

28 октября 2026   12:20

Компиляция Java через cmd, без кириллических ошибок консоли

Михаил Ярошевич
Обновлено: 2024-11-26        Посещений: 1073      
Ошибок нет, но есть нюансы

Бывает так, что в при компиляции Java через cmd появляется сообщение - error: unmappable character for encoding windows-1252 и на этом этапе компиляция аварийно завершается. Как правило, подобного рода проблема случается в Windows и успешно решается.

На всякий случай уточняю, аббревиатура cmd есть «интерпретатор командной строки» или еще варианты: «командная строка», «консоль», «терминал».

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

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


Пример Java кода

Среда Windows может быть любой, не обязательно седьмой версии. В данном случае имеет значение кодировка консоли по умолчанию.

Решение проблемы с компиляцией

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


Компиляция Java через cmd

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

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

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

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


Компиляция Java через cmd в Ubuntu

⚬ ⚬ ⚬

Ничего сложного, таким образом решается проблема с кириллизацией в процессе компиляции Java через cmd.

Может возникнуть вопрос, зачем нужна эта возня с консолью? Гораздо проще выполнить то же самое с помощью комфортных программных средств (Ant, Maven, ...). Дело в том, что встречаются ситуации, когда cmd помогает лучше понять процесс запуска приложения на этапе создания, особенно на начальном.

Также умение использования командной строки всегда полезно и обязательно пригодится в трудной ситуации, когда графический интерфейс в Windows будет бессилен. А в семействе UXIX подобных ОС это необходимый рабочий инструмент. Где рекомендуется научиться работать. Выбор широк: FreeBCD, OpenBSD, NetBSD и Linux со множеством дистрибутивов.



 
Гостей: 2

Рубрики

Основы ВебТех

  • Быстрый старт
  • PHP
  • Индексация, SEO
  • ВебМеню
  • Графика, Видео
  • Локалка

JS Введение

  • Описание
  • Исходники

Другие ИТ

  • Уход за ПК
  • Соц. медиа
  • Квалифика­ция

Сообщения

  • Заметки
  • Факты

!

Находясь здесь, посетители признают, что согласны с установленной Политикой конфиденци­альности.

Поделиться:

MAX Telegram Одноклассники
↑ ВВЕРХ