1

我跑了:

javac Perf.java

并得到:

ERROR in Prefs.java (at line 36)

HashMap<String, String> map = new HashMap<String, String>();
        ^^^^^^^^^^^^^^
Syntax error, parameterized types are only available if source level is 1.5

当我输入:java -version 我得到:

java版本“1.6.0_0”
IcedTea6 1.4 (fedora-11.b14.fc10-i386) 运行时环境 (build 1.6.0_0-b14)
OpenJDK 客户端 VM(内部版本 14.0-b08,混合模式)

javac -version得到我:

Eclipse Java 编译器 0.883_R34x,3.4.1 版,版权所有 IBM Corp 2000, 2008。保留所有权利。

这是 Fedora 10 的全新安装。这个 icedtea 业务是什么?为什么 Java 编译器默认使用 Eclipse 编译器?有人解释这种疯狂...

4

2 回答 2

1

检查您的 $PATH 变量。听起来您的“java”可执行文件在一个地方,而“javac”在其他地方。

在命令行上尝试“where”或“which”命令 - 这将告诉您 shell/OS 将每个可执行文件定位在哪里:

which java
which javac
于 2009-03-25T04:02:08.823 回答
1

Fedora 默认使用开源软件。Icedtea 是对 OpenJDK 的 redhat 改编,完全开源。Eclipse 编译器是目前最好的开源命令行 java 编译器,但默认情况下它似乎不是为 Java 6 编译的。

试试“javac -help”看看你有什么选择。它可能只是一个需要调整的简单环境变量。

于 2009-06-19T21:09:24.473 回答