我跑了:
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 version "1.6.0_0" IcedTea6 1.4 (fedora-11.b14.fc10-i386) Runtime Environment (build 1.6.0_0-b14) OpenJDK Client VM (build 14.0-b08, mixed mode)
javac -version
让我:
Eclipse Java Compiler 0.883_R34x, 3.4.1 release, Copyright IBM Corp 2000, 2008. All rights reserved.
这是Fedora 10的全新安装。这个icedtea业务是什么?为什么Java编译器默认为Eclipse编译器?有人解释了这种疯狂......
答案 0 :(得分:1)
检查您的$ PATH变量。听起来你的“java”可执行文件在一个地方而“javac”就在其他地方。
在命令行上尝试“where”或“which”命令 - 这将告诉您shell / OS在哪里找到每个可执行文件:
which java
which javac
答案 1 :(得分:1)
Fedora默认使用开源软件。 Icedtea是OpenJDK的redhat改编版,是完全开源的。 Eclipse编译器是最好的开源命令行java编译器,但它似乎没有为Java 6默认编译。
尝试“javac -help”查看您拥有的选项。它可能只是一个需要调整的简单环境变量。