【问题标题】:Why does IcedTea6 not compile Java 1.5 specific code?为什么 IcedTea6 不编译 Java 1.5 特定代码?
【发布时间】:2009-03-25 03:58:23
【问题描述】:

我跑了:

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 编译器?有人解释一下这种疯狂...

【问题讨论】:

    标签: java icedtea


    【解决方案1】:

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

    在命令行上尝试“where”或“which”命令 - 这将告诉您 shell/OS 将这些可执行文件定位到何处:

    which java
    which javac
    

    【讨论】:

    • 两者都在同一个位置:/usr/bin/java[c| ]
    • 您可能需要(重新)下载 Java SDK。听起来你的操作系统附带了一个奇怪/非标准版本的 javac
    • redhat fedora 10 目前有 90% 失败
    • 哦,天哪……太棒了:(。我对预装的 java 版本从来没有好运过。我总是喜欢下载最新的 JDK,所以我确切地知道我在处理什么与。
    • 叹息……总有一天会有一个我印象深刻的linux版本。那一天不是今天。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 2012-08-04
      • 2017-01-11
      • 2014-09-14
      相关资源
      最近更新 更多