我正在尝试在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程序。但是在使用终端时我遇到了这个上述问题。
答案 0 :(得分:25)
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/
BTW:/usr/lib/jvm/java-6-open-jdk/bin
中还有其他几个java可执行文件。我已经在上面显示了java
和javac
的符号链接命令。您应该为您可能想要使用的任何其他可执行文件运行类似的命令。
直接在命令行中使用完全限定路径:
$ /usr/lib/jvm/java-6-open-jdk/bin/javac
显然,有一个优雅的,但Ubuntu特定的解决方案来解决这个问题。在Ubuntu系统上时,请使用update-java-alternatives。