无法在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程序。但是在使用终端时遇到了上述问题。


问题答案:

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

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

  1. 从路径中已经存在的某个目录创建指向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/

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

  1. 直接在命令行上使用标准路径:

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

更新:

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