我正在尝试在 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-jdk
说 0 升级,0 新安装,0 删除,322 未升级。
我的jdk安装在/usr/lib/jvm/java-6-open-jdk;我能够从 Eclipse 编译和运行一个 java 程序。但是我在使用终端时遇到了上述问题。
最佳答案
javac
二进制文件(可能还有其他 java 二进制文件)在/不在您用户的 $PATH
环境变量中。有几种方法可以解决这个问题:
将
/usr/lib/jvm/java-6-open-jdk/bin
添加到用户的$PATH
环境变量中。您可以通过在用户的.bash_profile
中添加类似于以下内容的行来做到这一点:导出 PATH=${PATH}:/usr/lib/jvm/java-6-open-jdk/bin
您必须重新启动终端 session 才能使其生效。
从某个目录(例如
/usr/bin
)中创建指向 Java 二进制文件的符号链接(symbolic link)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 可执行文件。我已经在上面展示了java
和javac
的符号链接(symbolic link)命令。您应该为您可能想要使用的任何其他可执行文件运行类似的命令。直接在命令行使用全限定路径:
$/usr/lib/jvm/java-6-open-jdk/bin/javac
更新:
显然,对于这个问题有一个优雅但特定于 Ubuntu 的解决方案。在 Ubuntu 系统上,使用 update-java-alternatives .
关于java - 无法在 Ubuntu 上运行 javac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864612/