下载:官网上找到Java SE最新版本的下载链接,如Java SE 8u112是目前Java 8的最新版本。一个Java版本对于开发者而言就意味着JDK(Java Development Kit)。如果不需要开发只需要Java的运行环境,仅需安装JRE(Java Runtime Environment)。我下载的是jdk 8u111的linux版本(jdk_8u111_linux_x64.tar.gz),注意要点选Accept License Agreement,否则下载的是被损坏的文件。
SE代表Standard Edition,其他Java分支还有Enterprise Edition (EE), Micro Edision (ME)。
JRE包含了JVM(Java虚拟机)和Java API(Java基础类库)。JDK包含JRE,同时还包含了javac(Java编译器)、Java调试工具和例程。
安装:把压缩包移至/usr/local/java,解压。
如果无法获得root权限,在自己的家目录下解压即可。
配置环境:在/etc/profile文件中添加下面的代码(/usr/local/java替换为你的安装Java的目录)。
# Java Environment Path export JAVA_HOME=/usr/local/java/jdk1.8.0_111 export JRE_HOME=/usr/local/java/jdk1.8.0_111/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export后面直接加环境变量名。echo后面环境变量名前得加$。
配置后,运行
source /etc/profile
使配置生效。运行java -version
和javac -version
检测配置是否正确并确认版本。问题。javac的版本是最新的1.8.0_111,但是java的版本是时1.7.xxx(Java 7)。通过
which java
查看当前系统使用的java路径为/usr/bin
。通过ls -l /usr/bin/java
发现此文件链接到了/etc/alternatives/java
。
通过update-alternatives --config java
发现Java只有一个alternative:usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
。这些都表明系统中原来有Java 7的运行环境,新的安装并没有将java的路径改过来。但是通过echo $PATH
检查发现PATH已经包含之前安装的JAVA路径。通过下面的方式解决:- 将
/usr/bin/java
移走后,java命令提示找不到/usr/bin/java
。此方法不可行。 - 将PATH中
/usr/bin
移至最后,使得我们添加的Java 8的路径在其之前,成功更新版本。如果要将对PATH的改动保存,应该修改某些文件。 - 另外一种方法是将原来版本的Java卸载,未尝试。
- 将