java - 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
问题/建议
- 如何知道 JavaCompiler 是否已经安装?
- 如果已经安装了如何找到正确的路径并设置到环境中。
任何建议或解决方案表示赞赏。
解决方案
如何知道 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。
推荐阅读
- ios - 如何将多个过滤器应用于领域数据库结果
- typescript - VS Code 抱怨错误 TS7013 但 Typescript 不是
- emacs - 为什么在 emacs 的这个例子中词法绑定不起作用?
- reactjs - 为什么滚动条位于使用 react-native-tab-view 反应原生无限滚动的顶部
- java - Java将图像标准化为[0,1]
- c# - 如何为类的属性自定义 GridViewColumn 显示?
- python - 如何连接具有不同长度(和 samo 列)的数据帧?
- excel - 如果空白单元格向上移动单元格
- uikit - 在 WatchKit 中访问系统颜色
- java - 使用 LinkedLists 将子节点添加到 Tree 以存储节点的值