ubuntu16.04下JRE好像是默认安装的,这个时候执行java -version命令是没有错误的。
但是执行javac -version 显示:
这是由于,java的可执行程序来自JRE,而javac的可执行程序来自JDK。
JRE:运行Java程序的用户使用的软件,也就是说他是Java运行时环境,包含虚拟机但不包含编译器。如果安装了JRE,可以执行.class文件,但是不能进行编译Java文件,这不是开发者所想要的环境,而是专门为不需要编译器的用户而设计
JDK:编写Java程序的程序员使用的软件。只用安装了JDK才能执行javac命令进行编译.java文件。
也就是说,看起来可以执行java命令,也只是有运行Java的环境而已,真正需要安装的JDK还没有安装
只用按照错误提示信息运行命令:
sudo apt install default-jdk
即可安装JDK
完成后输入命令javac -version显示成功