无法在Ubuntu上运行javac

我试图在Ubuntuterminal上运行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-jdk表示0 upgraded, 0 newly installed, 0 to remove and 322 not upgraded.

我的jdk安装在/ usr / lib / jvm / java-6-open-jdk; 我可以从eclipse编译和运行一个java程序。 但是在使用terminal时,我遇到了这个前面提到的问题。

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. 从已经是路径的一部分的某个目录(例如/usr/bin )创建到java二进制文件的符号链接

    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/

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

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

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

更新:

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