在云服务器(Ubuntu)安装JDK,未安装之前,在命令行输入
1 | java --version |
命令行会提示未安装JDK,但是会提供安装命令
具体提供的命令我就复现不了了,但是如果直接按照它提供的命令的话,安装的JDK是不包含javac的
javac是编译程序,一个java文件需要经过javac test.java
的命令编译成class
文件后,再用java test
去执行class文件。符合某些要求的简单情况下可以跳过编译步骤,直接以java test.java
执行程序。
总之还是得解决没有javac程序这个问题。
解决办法是在它提供的命令后加一个“*”
顺带记录一下安装JDK后配置环境变量的方法:
进入命令行,切换至root用户,输入:
1
vim /etc/profile
在文件末尾加入
1
2
3
4export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH其中JAVA_HOME是JDK的安装目录
使环境变量生效
1
source /etc/profile
建立软链接
1
ln -s /usr/lib/jvm/java-17-openjdk-amd64 /usr/bin/java
检验
1
java --version
说明
奇怪的是,在我执行完它提供给我的安装命令后(第一次的时候,没有加
*
号),我没有立即去设置环境变量,而是尝试性的去输入java --version
,竟然也成功了,而且编写了一个简单的java文件,执行java test.java
也可以运行,实在是奇怪。不过后来执行加*
的命令后就不行了,还是得添加环境变量。