在Java 1.6中弃用
在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的? 日食?
如果使用javac,请确保将JAVA_HOME设置为指向JDK 6而不是JDK 1.4.2如果使用Eclipse(或任何IDE),请右键单击项目>属性>并搜索编译器级别。
语法错误,注释仅在源级别为1.5时可用
这是典型的IDE错误消息。 您已将工作区或项目配置为使用1.4或更高级别的合规性级别。 假设它是Eclipse(它至少可以识别为Eclipse错误),那么您需要在工作区首选项中转到Java > Compiler并将Compiler compliance level设置为1.5或更高版本。 您还需要在Project的属性中的Java Compiler条目中进行检查。
如果您正在使用Eclipse IDE
1-在Project Explorer中选择项目
2-转到项目 – >属性 – > Java编译器
3-选中“启用项目特定设置”选项
4-将“编译器合规性级别”设置为“1.6”
注意:如果已设置为1.6,则将其更改为1.5。
5-按“应用”按钮。
IDE存在问题,有时它不会选择默认的选定编译器合规性级别。 因此,您必须切换它并按应用按钮才能使更改生效。
阅读了迄今为止的回复,我可以看到,在涉及Eclipse的地方发生了一些混乱。
我有相同的语法错误,检查工作区Java兼容性( 窗口>首选项> Java>编译器 ),并惊讶地看到编译器合规性级别为1.6。 但是 ,我注意到此首选项页面顶部的“配置项目特定设置”链接。 该链接将您带到项目自己的设置。
您也可以从主菜单导航到那里。 在本例中, Project> Properties> Java Compiler 。 有一个标记为启用项目设置的复选框,在我的情况下,这已被选中,设置为1.4,但我不记得明确设置它。 无论如何,您可以将合规性设置默认为工作台的设置或将项目设置更改为1.5或更高。
这应该修复语法错误。
我怀疑你的源级别设置低于 1.5。 一般来说,它在Java 6中应该没问题。
你是如何编译的? 如果是Eclipse,那么您的项目/工作区设置在Compiler / JDK合规性级别下会说什么?
如果您正在使用javac,请运行
javac -version
检查你真正使用的版本。
您确定要使用Java 1.6而不是1.4(或更早版本)进行编译吗? 你用的是什么编译器?
@Deprecated
不是@Deprecate
如果您使用的是Eclipse,请确保将Java Compiler的设置设置为1.6合规性。
即使在Eclipse中使用java 1.6,也会发生这种情况。 单击项目,然后右键单击它。 转到属性并在Java编译器部分首先检查启用项目特定,然后手动选择1.6版本,即使它已经默认存在。 这解决了我的问题。
- 随机/随机比较器
- 当JTextArea超过一定数量的行时启用滚动条
- Java方面的同步和性能
- java.lang.NoSuchMethodException:org.hibernate.validator.ClassValidator Seam weblogic 10.3
- 如何检测OutofMemoryError的原因?
- Datastax cassandra驱动程序提供有关主机状态的错误元数据信息
- 在Java中将带空格的String转换为Integer
- classNotFound在eclipse中在Tomcat上使用JDBC进行MYSQL时出现exception
- 如何轻松地将BufferedReader转换为String?