В Java 1.5, чтобы объявить метод устаревшим, вы должны:
@Deprecated int foo(int bar) {
}
Компиляция этого в Java 1.6 приводит к следующему:
Синтаксическая ошибка, аннотации доступны только при уровне исходного кода 1.5.
Любые идеи?
В Java 1.5, чтобы объявить метод устаревшим, вы должны:
@Deprecated int foo(int bar) {
}
Компиляция этого в Java 1.6 приводит к следующему:
Синтаксическая ошибка, аннотации доступны только при уровне исходного кода 1.5.
Любые идеи?
Вы должны указать компилятору использовать 1.6:
javac -source 1.6
Или эквивалент для вашей системы IDE/сборки (как предлагали другие).
Во-первых, это @Deprecated
, а во-вторых, перепроверьте, действительно ли вы компилируете с помощью Java 1.6. Что вы используете? джавак? Затмение?
Если вы используете javac, убедитесь, что ваш JAVA_HOME указывает на JDK 6, а не на JDK 1.4.2. Если вы используете Eclipse (или любую IDE), щелкните правой кнопкой мыши проект > свойства > и найдите уровень компилятора.
Синтаксическая ошибка, аннотации доступны только при уровне исходного кода 1.5
Это типичное сообщение об ошибке IDE. Вы настроили рабочую область или проект для использования уровня соответствия 1.4 или более ранней версии. Предполагая, что это Eclipse (это, по крайней мере, распознается как ошибка Eclipse), вам нужно перейти к Java > Compiler в настройках рабочей области и установить уровень соответствия компилятора. до версии 1.5 или новее. Вам также необходимо проверить это в записи Java Compiler в свойствах проекта.
Если вы используете Eclipse IDE, то
1- Выберите свой проект в Project Explorer
2- Перейдите в Проект -> Свойства -> Компилятор Java.
3- Установите флажок «Включить настройки проекта».
4- Установите «Уровень соответствия компилятора» на «1.6».
ПРИМЕЧАНИЕ. Если уже установлено значение 1,6, измените его на 1,5.
5- Нажмите кнопку «Применить».
Есть проблемы с IDE, и иногда она просто не поддерживает выбранный по умолчанию уровень соответствия компилятора. Поэтому вам нужно переключить его и нажать кнопку «Применить», чтобы изменения вступили в силу.
Прочитав ответы на сегодняшний день, я вижу, что существует некоторая путаница в отношении того, что происходит с участием Eclipse.
У меня была такая же синтаксическая ошибка, я проверил соответствие рабочей области Java (Окно > Настройки > Java > Компилятор) и был удивлен, увидев уровень соответствия компилятору 1.6. Однако я заметил ссылку Настроить конкретные параметры проекта в верхней части этой страницы настроек. Ссылка ведет к собственным настройкам проекта.
Вы также можете перемещаться туда из главного меню. В этом случае Проект > Свойства > Компилятор Java. Существует флажок Включить настройки проекта, и в моем случае он был отмечен, и параметр был равен 1,4, хотя я не помню, чтобы он устанавливался явно. В любом случае, вы можете либо оставить для параметра соответствия значение по умолчанию для рабочего места, либо изменить параметр проекта на 1,5 или выше.
Это должно исправить синтаксическую ошибку.
Я подозреваю, что у вас установлен исходный уровень ниже, чем 1,5. В целом, в Java 6 все должно быть хорошо.
Как вы компилируете? Если это с Eclipse, что говорят настройки вашего проекта/рабочей области в разделе Compiler/JDK Compliance Level?
Если вы используете javac, запустите
javac -version
чтобы проверить, какую версию вы действительно используете.
Вы уверены, что компилируете с помощью Java 1.6, а не 1.4 (или старше)? Какой компилятор вы используете?
@Deprecated
не @Deprecate
Если вы используете Eclipse, убедитесь, что в настройках компилятора Java установлено соответствие версии 1.6.
Это может произойти, даже если в eclipse используется java 1.6. Щелкните проект, а затем щелкните его правой кнопкой мыши. Перейдите в свойства и в разделе компилятора Java сначала установите флажок «Включить конкретный проект», а затем вручную выберите версию 1.6, даже если она уже есть по умолчанию. Это решило мою проблему.