注释仅在源级别为5.0语法错误java时可用

我正在使用@Override注释编译一个普通的java程序(我从一些教程中下载了一个来自Internet的源代码)。 现在javac抱怨说

annotations are only available if source level is 5.0

SO或其他网站上的每个问题都与eclipse有关,但我没有使用eclipse。 我正在从命令行编译代码。 我该如何解决这个问题。

以下是一些可能有用的信息:

 $java -version java version "1.6.0_13-b03 (some other not so useful info) 

编辑:

 $javac -version Eclipse Java Compiler v_677_R32x, 3.2.1 release,.... 

编译命令:

 javac User.java 

User.java只是普通的java文件。 除了这个之外没有任何错误。

在项目属性 – > Java Build Path / Libraries选项卡中,确保您具有JRE System Library 6环境。

由于您不是通过eclipse构建,因此必须使用-source参数来编译,以告诉它使用更高的语言级别。 有趣的是,似乎eclipse编译器中的默认值不是oracle编译器使用的6。

您好解决了上述问题,请按照以下步骤操作:

  1. 右键单击您的项目,然后选择“ Properties
  2. 转到Java Compiler并检查启用项目特定设置。
  3. 根据系统中安装的jdk设置Jdk版本。 例如:1.5,1.6,1.7

在命令行中使用javac命令的-source选项指定版本。 这是javac的官方文档: http : //docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javac.html

在为Liferay 6.2部署portlet项目时,我遇到了类似的问题。 构建工具ANT总是给我以下语法错误:

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

我尝试设置使用过的Java版本等,但所有设置都正确。 我通过编辑build.-username-.properties文件解决了这个问题

 ant deploy 

命令。 我只是将编译器更改为现代并将默认的org.eclipse-compiler注释掉:

 javac.compiler=modern #javac.compiler=org.eclipse.jdt.core.JDTCompilerAdapter 

在该步骤之后,我的项目已成功构建和部署。

只是搜索了一段时间才能让它工作,所以我可能会对某人有帮助,如果我在SO上写下我检查过的关于这个问题的一个问题。