Java 1.6中的弃用

3
在Java 1.5中,要弃用一个方法,你需要:
@Deprecated int foo(int bar) {
}

在Java 1.6中编译会出现以下错误:

语法错误,注释只能在源代码级别为1.5时使用

有什么想法?

9个回答

9

您需要告诉编译器使用1.6版本:

javac -source 1.6

或者您的IDE /构建系统的等效物(正如其他人所建议的那样)。

7

首先,它是@Deprecated的,其次 - 请仔细检查您是否真的正在使用Java 1.6进行编译。您使用的是什么? javac?Eclipse?

如果使用javac,请确保您的JAVA_HOME设置指向JDK 6,而不是JDK 1.4.2 如果使用Eclipse(或任何IDE),右键单击项目>属性>并搜索编译器级别。


抱歉,修正了拼写错误。其他事情我会再回复您的。 - Ian Bishop

3

语法错误,注释仅在源代码级别为1.5时可用

这是一个典型的IDE错误消息。您已将工作区或项目配置为使用符合级别1.4或更早版本。假设它是Eclipse(至少可以识别为Eclipse错误),那么您需要在工作区首选项中转到Java > 编译器并将编译器符合级别设置为1.5或更新版本。您还需要在项目属性的Java编译器条目中检查此设置。


2
阅读到目前为止的回复,我可以看到在涉及Eclipse的情况下有些混淆。我遇到了相同的语法错误,检查了工作区Java兼容性(Window > Preferences > Java > Compiler),惊讶地发现编译器兼容级别为1.6。然而,我注意到了此首选项页面顶部的配置项目特定设置链接。该链接会带您进入项目自己的设置。
您也可以从主菜单中导航到那里。在这种情况下,使用 Project > Properties > Java Compiler。有一个复选框标记为启用项目设置,在我的情况下,它被选中并且设置为1.4,尽管我不记得明确设置它。无论如何,您可以让兼容性设置默认为工作台的设置或将项目设置更改为1.5或更高版本。
这应该解决语法错误。

2
如果您正在使用Eclipse IDE,则:
1- 在“项目资源管理器”中选择您的项目
2- 转到“项目” -> “属性” -> “Java编译器”
3- 选中“启用项目特定设置”选项
4- 将“编译器兼容级别”设置为“1.6”
注意:如果已经设置为1.6,则将其更改为1.5。
5- 点击“应用”按钮。
IDE存在问题,有时它不会选择默认选择的编译器兼容级别。因此,您必须切换它并按“应用”按钮以使更改生效。

1

我猜测你的源代码级别设置低于1.5。在Java 6中通常应该没问题。

你是如何编译的?如果是使用Eclipse,那么在编译器/JDK兼容级别下,你的项目/工作区设置是什么?

如果你正在使用javac,请运行

javac -version

检查你实际使用的版本。


0

你确定你正在使用Java 1.6而不是1.4(或更早版本)进行编译吗? 你在使用哪个编译器?


0

@Deprecated 不是 @Deprecate

如果您正在使用 Eclipse,请确保 Java 编译器的设置为 1.6 兼容性。


0

即使在Eclipse中使用java 1.6,这种情况也可能发生。 单击项目,然后右键单击它。 转到属性,在Java编译器部分首先勾选启用项目特定,然后手动选择1.6版本,即使默认情况下已经存在。 这解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接