3

在 Java 1.5 中,要弃用一个方法,您可以:

@Deprecated int foo(int bar) {
}

在 Java 1.6 中编译它会产生以下结果:

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

有任何想法吗?

4

9 回答 9

9

您必须告诉编译器使用 1.6:

javac -source 1.6

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

于 2009-11-24T15:57:21.227 回答
7

首先,它@Deprecated的 和第二个 - 仔细检查您是否真的使用 Java 1.6 进行编译。你在用什么?爪哇?蚀?

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

于 2009-11-24T15:54:47.067 回答
3

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

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

于 2009-11-24T15:58:18.603 回答
2

如果您使用的是 Eclipse IDE,那么

1- 在 Project Explorer 中选择您的项目

2-转到项目->属性-> Java编译器

3-选中“启用项目特定设置”选项

4-将“编译器合规级别”设置为“1.6”

注意:如果已设置为 1.6,则将其更改为 1.5。

5- 按“应用”按钮。

IDE 存在问题,有时它只是没有选择默认选择的编译器合规级别。因此,您必须切换它并按下应用按钮才能使更改生效。

于 2012-06-18T15:43:41.837 回答
2

在阅读了迄今为止的回复后,我可以看到对于涉及 Eclipse 的情况存在一些混淆。

我有同样的语法错误,检查了工作区 Java 合规性(Window > Preferences > Java > Compiler)并且惊讶地看到编译器合规级别为 1.6。但是,我注意到此首选项页面顶部的配置项目特定设置链接。该链接将您带到项目自己的设置。

您也可以从主菜单导航到那里。在这种情况下Project > Properties > Java Compiler有一个标记为启用项目设置的复选框,在我的情况下,它被选中并且设置为 1.4,尽管我不记得明确设置它。无论如何,您可以让合规性设置默认为工作台的默认设置,或者将项目设置更改为 1.5 或更高。

这应该可以修复语法错误。

于 2013-03-13T15:47:21.560 回答
1

我怀疑您的源级别设置为低于1.5。一般来说,在 Java 6 中应该没问题。

你是怎么编译的?如果是 Eclipse,您的项目/工作区设置在编译器/JDK 合规级别下是什么意思?

如果您使用的是 javac,请运行

javac -version

检查您真正使用的版本。

于 2009-11-24T15:55:21.603 回答
0

您确定使用 Java 1.6 而不是 1.4(或更早版本)进行编译吗?你用的是什么编译器?

于 2009-11-24T15:54:29.000 回答
0

@Deprecated不是@Deprecate

如果您使用的是 Eclipse,请确保 Java 编译器的设置设置为 1.6 合规性。

于 2009-11-24T15:55:16.533 回答
0

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

于 2011-09-05T14:13:37.090 回答