无法在Ubuntu上运行javac

时间:2012-01-14 19:05:02

标签: java ubuntu javac

我正在尝试在Ubuntu终端上运行javac。但我得到以下内容:

 $ javac
 The program 'javac' can be found in the following packages:
 * openjdk-6-jdk
 * ecj
 * gcj-4.4-jdk
 * gcj-4.6-jdk
 * gcj-4.5-jdk
 * openjdk-7-jdk
 Try: sudo apt-get install <selected package>

jdk已经安装并正在运行sudo apt-get install openjdk-6-jdk0 upgraded, 0 newly installed, 0 to remove and 322 not upgraded.

我的jdk安装在/ usr / lib / jvm / java-6-open-jdk中;我能够从eclipse编译并运行一个java程序。但是在使用终端时我遇到了这个上述问题。

1 个答案:

答案 0 :(得分:25)

javac二进制文件(可能还有其他java二进制文件)不在用户的$PATH环境变量中。有几种方法可以解决这个问题:

  1. /usr/lib/jvm/java-6-open-jdk/bin添加到用户的$PATH环境变量中。您可以通过在用户.bash_profile中添加类似于以下内容的行来执行此操作:

    export PATH=${PATH}:/usr/lib/jvm/java-6-open-jdk/bin

    您必须重新启动终端会话才能生效。

  2. 从已经成为路径一部分的某个目录创建指向java二进制文件的符号链接(例如/usr/bin

    sudo ln -s /usr/lib/jvm/java-6-open-jdk/bin/java /usr/bin/
    sudo ln -s /usr/lib/jvm/java-6-open-jdk/bin/javac /usr/bin/

    BTW:/usr/lib/jvm/java-6-open-jdk/bin中还有其他几个java可执行文件。我已经在上面显示了javajavac的符号链接命令。您应该为您可能想要使用的任何其他可执行文件运行类似的命令。

  3. 直接在命令行中使用完全限定路径:

    $ /usr/lib/jvm/java-6-open-jdk/bin/javac

  4. 更新

    显然,有一个优雅的,但Ubuntu特定的解决方案来解决这个问题。在Ubuntu系统上时,请使用update-java-alternatives