在Mac OS X上开始使用现成的Java

在Mac OS X上开始使用现成的Java,java,macos,installation,Java,Macos,Installation,我在MacBook上安装的10.5.3似乎不想使用Sun。它声称找不到要导入的java.io.Console。这对我来说很烦人,经过多次搜索,我想不出应该怎么做来修复它 我已经安装了Apple开发者工具 下面是发生的情况: macbook:~ dlamblin$ javac RegexTestHarness.java RegexTestHarness.java:32: cannot find symbol symbol : class Console location: package jav

我在MacBook上安装的10.5.3似乎不想使用Sun。它声称找不到要导入的java.io.Console。这对我来说很烦人,经过多次搜索,我想不出应该怎么做来修复它

我已经安装了Apple开发者工具

下面是发生的情况:

macbook:~ dlamblin$ javac RegexTestHarness.java
RegexTestHarness.java:32: cannot find symbol
symbol  : class Console
location: package java.io
import java.io.Console;
               ^
RegexTestHarness.java:39: cannot find symbol
symbol  : class Console
location: class RegexTestHarness
        Console console = System.console();
        ^
RegexTestHarness.java:39: cannot find symbol
symbol  : method console()
location: class java.lang.System
        Console console = System.console();
                                ^
3 errors

mmyers已经暗示了这一点,但听起来您还没有升级到Java6。您可以从这里获得它:

我假设您已经在您的机器上安装了Java 6,因为它是一个Java 1.6类。我曾经遇到过将OSX更新为Java6的情况,但是当从命令行运行时,仍然使用旧版本。即使在调整Java首选项应用程序(应用程序>实用程序>Java首选项)之后,这种情况也会发生

下面是我如何解决这个问题的

$ cd /System/Library/Frameworks/JavaVM.framework/Versions
$ sudo rm CurrentJDK
$ sudo ln -s 1.6.0 CurrentJDK

javac-version显示了什么?控制台是一个Java6类。现在我觉得很傻,它是JavaC1.5.0_19。我想我会将示例代码更改为只使用System.console。我还不想安装6。谢谢;我确实需要这样做,并将其拖到“Java首选项”应用程序列表的顶部。