在Java 1.5中,要弃用一个方法:
@Deprecated int foo(int bar) {
}
在Java 1.6中对此进行编译会产生以下结果:
语法错误,仅限注释 如果源级别为1.5
,则可用
有什么想法吗?
答案 0 :(得分:9)
你必须告诉编译器使用1.6:
javac -source 1.6
或等效的IDE /构建系统(正如其他人所建议的那样)。
答案 1 :(得分:7)
首先,它的@Deprecated
和第二个 - 仔细检查你是否真的在使用Java 1.6进行编译。你在用什么? javac的?蚀?
如果使用javac,请确保将JAVA_HOME设置为指向JDK 6,而不是JDK 1.4.2 如果使用Eclipse(或任何IDE),请右键单击项目>属性>并搜索编译器级别。
答案 2 :(得分:3)
语法错误,注释仅在源级别为1.5
时可用
这是典型的IDE错误消息。您已将工作区或项目配置为使用1.4或更高级别的合规性级别。假设它是Eclipse(它至少可以识别为Eclipse错误),那么你需要转到 Java >工作区首选项中的编译器,并将编译器合规性级别设置为1.5或更高版本。您还需要在Project的属性中的 Java Compiler 条目中进行检查。
答案 3 :(得分:2)
如果您使用的是Eclipse IDE,那么
1-在Project Explorer中选择项目
2-转到项目 - >属性 - > Java编译器
3-选中“启用项目特定设置”选项
4-将“编译器合规级别”设置为“1.6”
注意:如果已设置为1.6,则将其更改为1.5。
5-按“应用”按钮。
IDE存在问题,有时它不会选择默认的选定编译器合规性级别。因此,您必须切换它并按应用按钮才能使更改生效。
答案 4 :(得分:2)
在阅读了迄今为止的回复之后,我可以看到对于涉及Eclipse的情况有一些困惑。
我遇到了相同的语法错误,检查了工作区Java合规性(窗口>首选项> Java>编译器),并且惊讶地看到编译器合规性级别为1.6。 然而,我注意到此首选项页面顶部的配置项目特定设置链接。该链接将您带到项目自己的设置。
您也可以从主菜单导航到那里。在这种情况下项目>属性> Java编译器。有一个标有启用项目设置的复选框,在我的情况下,这已经过检查,设置为1.4,但我不记得明确地设置了它。无论如何,您可以将合规性设置默认为工作台的设置或将项目设置更改为1.5或更高。
这应该可以解决语法错误。
答案 5 :(得分:1)
我怀疑你的源级别设置为低于而不是1.5。一般来说,它在Java 6中应该没问题。
你是如何编译的?如果是Eclipse,那么您的项目/工作区设置在Compiler / JDK Compliance Level下会说什么?
如果你正在使用javac,请运行
javac -version
检查您真正使用的版本。
答案 6 :(得分:0)
您确定要使用Java 1.6而不是1.4(或更早版本)进行编译吗? 你使用什么编译器?
答案 7 :(得分:0)
@Deprecated
不是@Deprecate
如果您使用的是Eclipse,请确保将Java Compiler的设置设置为1.6合规性。
答案 8 :(得分:0)
即使在Eclipse中使用java 1.6,也会发生这种情况。单击该项目,然后右键单击它。转到属性并在Java编译器部分首先检查启用项目特定,然后手动选择1.6版本,即使它已经默认存在。这解决了我的问题。