在 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并将Compiler 合规级别设置为 1.5 或更高版本。您还需要在项目属性的Java 编译器条目中检查这一点。
如果您使用的是 Eclipse IDE,那么
1- 在 Project Explorer 中选择您的项目
2-转到项目->属性-> Java编译器
3-选中“启用项目特定设置”选项
4-将“编译器合规级别”设置为“1.6”
注意:如果已设置为 1.6,则将其更改为 1.5。
5- 按“应用”按钮。
IDE 存在问题,有时它只是没有选择默认选择的编译器合规级别。因此,您必须切换它并按下应用按钮才能使更改生效。
在阅读了迄今为止的回复后,我可以看到对于涉及 Eclipse 的情况存在一些混淆。
我有同样的语法错误,检查了工作区 Java 合规性(Window > Preferences > Java > Compiler)并且惊讶地看到编译器合规级别为 1.6。但是,我注意到此首选项页面顶部的配置项目特定设置链接。该链接将您带到项目自己的设置。
您也可以从主菜单导航到那里。在这种情况下Project > Properties > Java Compiler。有一个标记为启用项目设置的复选框,在我的情况下,它被选中并且设置为 1.4,尽管我不记得明确设置它。无论如何,您可以让合规性设置默认为工作台的默认设置,或者将项目设置更改为 1.5 或更高。
这应该可以修复语法错误。
我怀疑您的源级别设置为低于1.5。一般来说,在 Java 6 中应该没问题。
你是怎么编译的?如果是 Eclipse,您的项目/工作区设置在编译器/JDK 合规级别下是什么意思?
如果您使用的是 javac,请运行
javac -version
检查您真正使用的版本。
您确定使用 Java 1.6 而不是 1.4(或更早版本)进行编译吗?你用的是什么编译器?
@Deprecated
不是@Deprecate
如果您使用的是 Eclipse,请确保 Java 编译器的设置设置为 1.6 合规性。
即使在 eclipse 中使用 java 1.6 也会发生这种情况。单击该项目,然后右键单击它。转到属性并在 Java 编译器部分首先检查启用特定项目,然后手动选择 1.6 版本,即使默认情况下它已经存在。这解决了我的问题。