На этой странице можно настроить параметры, связанные с компиляцией, компоновкой и проверкой исходного кода на Java.
Параметры компилятора Java разбиты на следующие разделы:
Опция |
Описание |
По умолчанию |
---|---|---|
Уровень совместимости компилятора |
Задает уровень совместимости компилятора. |
1.4 |
Применять параметры совместимости по умолчанию |
Если эта опция включена, то применяются параметры совместимости по умолчанию для уровня совместимости компилятора. |
Вкл. |
Уровень совместимости создаваемых файлов классов |
Задает уровень совместимости создаваемых файлов классов. |
1.2 |
Совместимость исходного кода |
Задает уровень совместимости для исходного кода. |
1.3 |
Запретить идентификаторы с именем 'assert' |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение при обнаружении использования 'assert' в качестве идентификатора (зарезервированное ключевое слово в J2SE 1.4). |
Предупреждение |
Запретить идентификаторы с именем 'enum' |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение при обнаружении использования 'enum' в качестве идентификатора (зарезервированное ключевое слово в J2SE 5.0). |
Предупреждение |
Добавлять атрибуты переменных в создаваемые файлы классов |
Если эта опция включена, то в файл классов будут добавлены атрибуты переменных. Это позволит показывать имена локальных переменных в отладчике (в тех местах, где переменным заведомо присваиваются значения). Это увеличит размер итогового файла .class. |
Вкл. |
Добавлять атрибуты номеров строк в создаваемые файлы классов |
Если эта опция включена, то в файл классов будет добавлена информация о номерах строк. Это позволит выделять исходный код в отладчике. |
Вкл. |
Добавлять имя исходного файла в создаваемый файл классов |
Если эта опция включена, то в файл классов будет добавлено имя исходного файла. Это позволит отладчику отобразить соответствующий исходный код. |
Вкл. |
Сохранять неиспользуемые локальные переменные |
Если эта опция включена, то неиспользуемые (т.е. ни разу не прочитанные) локальные переменные не будут удалены из файла классов. Их удаление может изменить отладку. |
Вкл. |
Встраивать блоки finally |
Если опция включена, то блоки finally встраиваются в создаваемые файлы классов. Это улучшает быстродействие, но увеличивает размер файлов классов. |
Выкл. |
Опция |
Описание |
По умолчанию |
---|---|---|
Максимальное число неполадок для модуля компиляции |
Задает максимальное число сообщений о неполадках для модуля компиляции. |
100 |
Разрешить использование шаблонов исключения в папках исходного кода |
Если эта опция выключена, то записи в пути к классам проекта нельзя связывать с шаблоном исключения. |
Вкл. |
Разрешить использование нескольких выходных расположений для папок исходного кода |
Если эта опция выключена, то записи в пути к классам проекта нельзя связывать с конкретным выходным расположением - это предотвращает использование нескольких выходных расположений. |
Вкл. |
Прерывать компоновку при ошибках в пути компоновки |
Позволяет прекращать работу компоновщика, если путь к классам недопустим. |
Вкл. |
Неполный путь компоновки |
Указывает серьезность неполадки, возникающей, когда запись в пути к классам отсутствует, недопустима или невидима (например, если соответствующий проект закрыт). |
Ошибка |
Циклические зависимости |
Указывает серьезность неполадки, возникающей, когда проект содержит циклические ссылки. |
Ошибка |
Несовместимые обязательные двоичные объекты |
Задает уровень серьезности сообщения о неполадке, когда проект требует несовместимых двоичных объектов. |
Игнорировать |
Повторяющиеся ресурсы |
Указывает серьезность неполадки, возникающей, когда в выходное расположение требуется скопировать несколько вхождений ресурса. |
Предупреждение |
Очищать папки вывода при очистке проектов |
Указывает, разрешено ли компоновщику Java очищать выходные папки при выполнении полной компоновки. |
Вкл. |
Отфильтрованные ресурсы |
Перечисленные через запятую шаблоны файлов, которые не копируются в выходную папку. |
'' |
Опция |
Описание |
По умолчанию |
---|---|---|
Нестатический доступ к статическому элементу |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение, когда обнаружит, что к статическому полю или методу обращается приемник выражений. Ссылка на статический элемент должна быть уточнена именем типа. |
Предупреждение |
Косвенный доступ к статическому элементу |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при косвенном обращении к статическому полю или методу. Статическое поле интерфейса должно быть указано с полным именем, включая имя объявляющего типа. |
Предупреждение |
Доступ по неполному пути к полю экземпляра: |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении доступа к полю по неполному имени (без 'this'). |
Игнорировать |
Недокументированный пустой блок |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении пустого блока операторов без комментариев. |
Игнорировать |
Обращение к недоступному элементу вмещающего типа |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение, когда обнаружит эмуляцию доступа к недоступному элементу окружающего типа. Такие обращения могут вызвать снижение производительности. |
Игнорировать |
Методы с именем конструктора |
Называть метод именем конструктора обычно считается плохим стилем программирования. Если эта опция включена, то компилятор будет сообщать об этом как об ошибке или о предупреждении. |
Предупреждение |
Использование неэкспортированных строк |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение при обнаружении неэкспортированных литеральных строк (т.е. не содержащих тега //$NON-NLS-<n>$). |
Игнорировать |
Сериализуемый класс без serialVersionUID |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении типа, реализующего 'java.io.Serializable', но не имеющего поля serialVersionUID. |
Предупреждение |
Безрезультатное присваивание (например, 'x = x') |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение при обнаружении безрезультатного присваивания (например, 'x = x'). |
Предупреждение |
Возможное случайное булевское присваивание ( 'if (a = b)') |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение при обнаружении случайного булевского присваивания (например, 'if (a = b)'). |
Предупреждение |
Ненормальное завершение блока finally |
Если эта опция включена, то компилятор будет выдавать сообщение об ошибке или предупреждение при ненормальном завершении блока с ключевым словом 'finally'. |
Предупреждение |
Пустой оператор |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении пустого оператора (ненужной точки с запятой). |
Игнорировать |
Применение символьного массива в конкатенации строк |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение при обнаружении выражения char[] в конкатенациях строк, например: "hello" + new char[]{'w','o','r','l','d'}
|
Предупреждение |
Скрытые блоки catch |
Локально по отношению к оператору try некоторые блоки catch могут скрывать другие, например: try { throw new java.io.CharConversionException(); } catch (java.io.CharConversionException e) { } catch (java.io.IOException e) {}. Если эта опция включена, то компилятор выдаст ошибку или предупреждение при обнаружении скрытых блоков catch, соответствующих отмеченным исключительным ситуациям. |
Предупреждение |
Объявление поля, скрывающее другое поле или переменную: |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение, если объявление поля скрывает другое унаследованное поле. |
Игнорировать |
Объявление локальной переменной, скрывающее другое поле или переменную: |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение, если объявление локальной переменной скрывает другое поле или переменную. |
Игнорировать |
Добавить параметры конструктора или метода set |
Если эта опция включена, то компилятор также выдаст ошибку или предупреждение, если параметр конструктора или метода set скрывает другое поле или переменную. |
Выкл. |
Тип параметра скрывает другой тип |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение, если параметр типа внутреннего класса скрывает внешний тип. |
Предупреждение |
Переопределенные методы, не видимые в пакете |
Метод, применяемый в пакете по умолчанию, не видим в другом пакете и поэтому не может быть переопределен. Если эта опция включена, то компилятор будет сообщать об этом как об ошибке или о предупреждении. |
Предупреждение |
Конфликт метода интерфейса с защищенным методом 'Object' |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение, когда обнаружит, что интерфейс определяет метод, несовместимый с ненаследуемым методом Object. Пока этот конфликт не будет устранен, реализовать такой интерфейс будет нельзя, например: interface I { int clone(); } |
Предупреждение |
Устаревший API |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение при обнаружении устаревших API. |
Предупреждение |
Извещать об использовании устаревших API в устаревшем коде |
Если эта опция включена, то компилятор сообщит об обнаружении устаревших API в устаревшем коде. Серьезность неполадки определяется опцией "Устаревшие API". |
Выкл. |
Извещать о переопределении или реализации устаревшего метода |
Если эта опция включена, то компилятор сообщит об обнаружении переопределения или реализации устаревшего метода. Серьезность неполадки определяется опцией "Устаревшие API". |
Выкл. |
Запрещенная ссылка (правила доступа) |
При включении этой опции компилятор будет сообщать о запрещенной ссылке в правилах доступа. |
Ошибка |
Нежелательная ссылка (правила доступа) |
При включении этой опции компилятор будет сообщать о нежелательной ссылке в правилах доступа. |
Предупреждение |
Локальная переменная никогда не читается |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение, если локальная переменная объявлена, но никогда не используется в этой области. |
Предупреждение |
Параметр ни разу не считывается |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение, если параметр объявлен, но не используется в этой области. |
Игнорировать |
Проверять переопределяющие и реализующие методы |
При включении этой опции компилятор также будет выдавать сообщение об ошибке или предупреждение, если параметр объявлен, но не используется в этой области в переопределяющих или реализующих методах. |
Выкл. |
Неиспользуемые объявления импорта |
Если эта опция включена, то компилятор выдаст ошибку или предупреждение при обнаружении неиспользуемых ссылок на объявление импорта. |
Предупреждение |
Неиспользованные локальные или закрытые элементы |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение, если локальный или закрытый метод объявлены, но никогда не используются в этой единице компиляции. |
Предупреждение |
Ненужный оператор else |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении лишнего оператора else (например, if (condition) return; else doSomething();). |
Игнорировать |
Ненужная операция преобразования типов или 'instanceof': |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении лишнего приведения типов или оператора instanceof (например, if (object instanceof Object) return;). |
Игнорировать |
Ненужное объявление генерируемой исключительной ситуации |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении лишнего объявления исключительной ситуации. |
Игнорировать |
Проверять переопределяющие и реализующие методы |
При включении этой опции компилятор будет также выдавать сообщение об ошибке или предупреждение при обнаружении лишнего объявления исключительной ситуации в переопределяющих или реализующих методах. |
Выкл. |
Операция с непроверенным параметризуемым типом |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении операции с непроверенным параметризуемым типом. |
Предупреждение |
Параметр шаблонного типа, объявленный в связывании типа final |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении типа, объявленного в связывании типа final. |
Предупреждение |
Неточное совпадение типов для аргументов vararg |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении неточного совпадения типов для аргументов vararg. |
Предупреждение |
Приведение типов |
Если эта опция включена, то компилятор будет выдавать ошибку или предупреждение при каждом выполнении преобразования приведения типов. Автоматическое приведение типов снижает быстродействие. |
Игнорировать |
Отсутствует аннотация '@Override' |
При включении этой опции компилятор будет сообщать об ошибке или предупреждении, если в объявлении метода, переопределяющего другой метод, нет аннотации @Override. |
Игнорировать |
Отсутствует аннотация '@Deprecated' |
При включении этой опции компилятор будет сообщать об ошибке или предупреждении, если в объявлении устаревшего типа нет аннотации '@Deprecated'. |
Игнорировать |
Аннотация используется как базовый интерфейс |
При включении этой опции компилятор будет выдавать сообщение об ошибке или предупреждение при обнаружении реализации типом аннотации. Это возможно по правилам языка, но не рекомендуется. |
Предупреждение |
Не все константы перечисления обрабатываются в 'switch' |
При включении этой опции компилятор будет сообщать об ошибке или предупреждении, если не все константы перечисления обрабатываются в операторе 'switch'. |
Игнорировать |
Необрабатываемые маркеры предупреждений в '@SuppressWarnings' |
При включении этой опции компилятор будет сообщать об ошибке или предупреждении, если он встречает необрабатываемые маркеры предупреждений в аннотации '@SuppressWarnings'. |
Предупреждение |
Включить аннотации '@SuppressWarnings' |
При включении этой опции компилятор обрабатывать аннотации '@SuppressWarnings'. |
Вкл. |
Компоновка программы на Java
Работа с путями компоновки
Работа с JRE
Параметры переменных путей к классам
Свойства пути компоновки Java