Centos-8 JAVA 代码不执行程序和 JAVAC 命令不工作

Centos-8 JAVA code not executing program and JAVAC commands not working

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

我得到了 VM,我可以在其中检查 JAVA 版本,但 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(这适用于本地 window 系统)

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

Question/Suggestion

  1. 如何知道Java编译器是否已经安装?
  2. 如果已经安装了如何找到正确的路径并设置成环境

感谢任何建议或解决方案。

How to know if JavaCompiler is already installed or not?

消息 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

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

请注意,从版本 11 开始,JRE 不再存在。从Java-11开始,你只需要安装JDK.