2

我正在编译一个带有@Override注释的普通java程序(我从一些教程中下载了一个来自互联网的源代码)。现在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文件。除了这个,肯定没有错误。

4

5 回答 5

2

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

  1. 右键单击您的项目并选择Properties.
  2. 转到Java Compiler并检查启用项目特定设置。
  3. Jdk根据jdk系统中安装的版本设置版本。例如:1.5、1.6、1.7
于 2014-04-03T12:41:46.703 回答
2

在为 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

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

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

于 2017-08-29T20:51:26.707 回答
0

在项目属性->Java 构建路径/库选项卡中,确保您拥有 JRE 系统库 6 环境。

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

于 2013-09-05T07:52:46.240 回答
0

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

于 2013-09-05T07:56:41.430 回答
0

已按以下步骤对该遗留问题进行了排序:

1.转到您项目的属性

2.在“属性”对话框中,选择左侧树中的 Java 编译器节点。

3.最后将编译器合规级别设置为 1.5 或更高,因为这就是 eclipse 哭泣的原因:-0

4.重建项目

于 2018-12-28T05:42:30.963 回答