我在linux
系统上成功安装了java。当我从桌面运行hello world测试样本时它运行成功,但是几天后我再次尝试使用javac
命令从终端运行它时,它给了我以下响应:
The program 'javac' can be found in the following packages:
* default-jdk
* ecj
* gcj-5-jdk
* openjdk-8-jdk-headless
* gcj-4.8-jdk
* gcj-4.9-jdk
* openjdk-9-jdk-headless
Try: sudo apt install <selected package>
当我测试我的JAVA_HOME
env。变量使用echo $JAVA_HOME
显示:
/usr/lib/jvm/java-8-openjdk-amd64
它还带有PATH
变量。
当我运行which java
命令时,它显示:
/usr/lib/jvm/java-8-openjdk-amd64/bin/java
并使用命令whereis java
显示:
java: /usr/lib/jvm/java-8-openjdk-amd64/bin/java /usr/share/man/man1/java.1.gz
所以,我不明白这个问题,因为我自己应用了环境。变量,它显示一切都很完美,那么为什么javac
命令不运行?任何人都可以研究这个问题。
答案 0 :(得分:2)
核心问题是您没有安装在系统上的Java Develoment Toolkit(与Java运行时不同)。这意味着用于创建Java程序的实用程序(例如javac,jar等)不在您的系统上。
ThorbjørnRavnAndersen给出了Debian系列Linux系统的答案,这是RedHat系列系统的答案
CamelAwsS3Key
或者如果您使用最新的Fedora
yum install java-devel
答案 1 :(得分:1)
撤消您的环境设置并运行sudo apt install openjdk-8-jdk
。 javac现在应该在你的道路上。
答案 2 :(得分:-1)
/ usr / lib中/ JVM / JAVA -8-的openjdk-AMD64 /斌/ java的
不是dir,它是一个优秀的。 尝试使用以下内容来使用javac:
/usr/lib/jvm/java-8-openjdk-amd64/bin/javac
或
/usr/lib/jvm/java-8-openjdk-amd64/bin/jstack