我正在使用@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文件。除了这个之外没有任何错误。
答案 0 :(得分:3)
您好解决了上述问题,请按照以下步骤操作:
Properties
。Java Compiler
并检查启用项目特定设置。Jdk
设置jdk
个版本。
例如:1.5,1.6,1.7 答案 1 :(得分:0)
在项目属性中 - > Java Build Path / Libraries选项卡确保您具有JRE System Library 6环境。
由于您不是通过eclipse构建,因此必须使用-source参数来编译,以告诉它使用更高的语言级别。有趣的是,似乎eclipse编译器中的默认值不是oracle编译器使用的6。
答案 2 :(得分:0)
在命令行中使用javac命令的-source选项指定版本。这是javac的官方文档: http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javac.html
答案 3 :(得分:0)
在为Liferay 6.2部署portlet项目时遇到了类似的问题。构建工具ANT总是给我以下语法错误:
语法错误,注释仅在源级别为1.5或更高时才可用
我尝试设置已使用的Java版本等,但所有设置都正确。我通过编辑
的build.-username-.properties文件解决了这个问题ant deploy
命令。我刚刚将编译器更改为 modern 并将默认的org.eclipse-compiler注释掉:
javac.compiler=modern
#javac.compiler=org.eclipse.jdt.core.JDTCompilerAdapter
在该步骤之后,我的项目已成功构建并部署。
只是搜索了一段时间才能让它工作,所以我觉得如果我在这个问题上检查过的一个问题上把它写下来可能对某人有帮助。
答案 4 :(得分:0)
已通过以下步骤对遗留问题进行了排序:
1。转到项目的“属性”
2。在“属性”对话框上,选择左侧树中的“ Java编译器”节点。
3。最后,将Compiler合规性级别设置为1.5或更高,这是为了 蚀在哭:-0
4。重建项目