我已经成功地在我的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>
Run Code Online (Sandbox Code Playgroud)
当我测试我的环境时JAVA_HOME
。使用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
所以,我不明白这个问题,因为我自己应用了 env。变量,它显示一切都很完美,那么为什么javac
命令没有运行?任何人都可以看看这个问题。
核心问题是您的系统上没有安装 Java 开发工具包(与 Java 运行时不同)。这意味着用于创建 Java 程序的实用程序(例如 javac、jar 等)不在您的系统上。
Thorbjørn Ravn Andersen 给出了 Debian 系列 Linux 系统的答案,这里是 RedHat 系列系统的答案
yum install java-devel
Run Code Online (Sandbox Code Playgroud)
或者如果您使用的是最新的 Fedora
dnf install java-devel
Run Code Online (Sandbox Code Playgroud)
Jon*_*nas -1
/usr/lib/jvm/java-8-openjdk-amd64/bin/java
不是目录,它是可执行文件。尝试执行以下命令来使用 javac:
/usr/lib/jvm/java-8-openjdk-amd64/bin/javac
Run Code Online (Sandbox Code Playgroud)
或者
/usr/lib/jvm/java-8-openjdk-amd64/bin/jstack
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17686 次 |
最近记录: |