无法在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-jdk
说0 upgraded, 0 newly installed, 0 to remove and 322 not upgraded.
我的jdk安装在/ usr / lib / jvm / java-6-open-
jdk中;而且我能够从Eclipse编译并运行Java程序。但是在使用终端时遇到了上述问题。
问题答案:
该javac
二进制(可能其他的Java二进制文件)是/不是您的用户$PATH
环境变量。有几种解决方法:
- 添加
/usr/lib/jvm/java-6-open-jdk/bin
到用户的$PATH
环境变量。您可以通过在用户的行中添加类似于以下内容的行来做到这一点.bash_profile
:
export PATH=${PATH}:/usr/lib/jvm/java-6-open-jdk/bin
您必须重新启动终端会话才能生效。
- 从路径中已经存在的某个目录创建指向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
。我已经展示了符号链接的命令java
和javac
上面。您应该为可能要使用的任何其他可执行文件运行类似的命令。
- 直接在命令行上使用标准路径:
$ /usr/lib/jvm/java-6-open-jdk/bin/javac
更新:
显然,对于此问题有一个优雅的解决方案,但特定于Ubuntu。在Ubuntu系统上,请使用update-java-
alternatives
。