首页 > 解决方案 > Centos-8 JAVA 代码不执行程序和 JAVAC 命令不工作

问题描述

我想将服务器配置为运行 java 和 javac 命令。我的代码适用于我的本地 Windows 系统,但不适用于实时 Centos。

我已经获得了可以检查 JAVA 版本的 VM,但 JAVAC 命令不起作用。此外,当我尝试执行简单的 hello world java 代码时,它也不起作用。以下是我发现的一些配置细节。我试图找到 javac 可执行文件,但找不到它。

CentOS 版本

[root@server2 java]# rpm --query centos-release
centos-release-8.1-1.1911.0.9.el8.x86_64

查找 java 包详细信息

[root@server2 java]# find /usr -name java
/usr/share/java
/usr/bin/java
/usr/lib/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64/jre/bin/java

查找 Java 版本

[root@server2 /]# java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

查找 Javac 版本(Java 编译器)(还测试了 'locate javac')

[root@server2 /]# javac -version
bash: javac: command not found

试图运行简单的HelloWorld.java(这适用于本地窗口系统)

[root@server2 java]# java HelloWorld.java
Error: Could not find or load main class HelloWorld.java

问题/建议

  1. 如何知道 JavaCompiler 是否已经安装?
  2. 如果已经安装了如何找到正确的路径并设置到环境中。

任何建议或解决方案表示赞赏。

标签: javacentosjavaccentos8

解决方案


如何知道 JavaCompiler 是否已经安装?

该消息bash: javac: command not found已经告诉您缺少 Java 编译器(它是 JDK 的一部分)。

[root@server2 /]# javac -version
bash: javac: command not found

问题是您只安装了 JRE 而错过了安装 JDK。请安装JDK,问题将得到解决。

除此之外,以下语法仅适用于 Java-11 以后:

java HelloWorld.java

对于低版本,需要执行如下所示的class文件:

java HelloWorld

但是,要执行此操作,HelloWorld.java必须使用javac作为 JDK 一部分的工具进行编译。

请注意,从 version-11 开始,JRE 不再存在。从 Java-11 开始,您只需要安装 JDK。


推荐阅读