注释仅在源级别为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。
您好解决了上述问题,请按照以下步骤操作:
- 右键单击您的项目,然后选择“
Properties
。 - 转到
Java Compiler
并检查启用项目特定设置。 - 根据系统中安装的
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上写下我检查过的关于这个问题的一个问题。