Centos7 安装 Java

环境:Centos7.+版本 其他无

检验系统原版本 ,申请的服务器可以先查看系统是由自带的有java

1
2
3
4
5
6
7
[root@zck ~]# java -version

正常情况会输出

java version "1.7.0_"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
1
2
3
4
5
6
7
8
9
如果是输出了先关信息,继续输入 进一步查看JDK信息:
[root@localhost ~]# rpm -qa | grep java

正常情况会输出
javapackages-tools-3.4.1-6.el7_0.noarch
tzdata-java-2014i-1.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64
java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64
python-javapackages-3.4.1-6.el7_0.noarch
1
2
3
4
卸载OpenJDK,执行以下操作:
[root@localhost ~]# rpm -e --nodeps tzdata-java-2014i-1.el7.noarch
[root@localhost ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64
[root@localhost ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64

PS:主菜上来了~ 安装JDK

#手动安装JDK 上传到Linux服务器

  • 上传jdk到Linxu文件夹下,至于怎么上传随你,最终就是文件夹里有着压缩包
  • 我用的xhsell自带的ftp上传的,是预先在本地下载好的.rmp格式的,你也可以使用命令行copy到服务器文件夹上、或者使用wget命令、或者yum命令 这次不做详细介绍
  • 压缩包有两种格式,我用的.rmp安装包
1
2
3
上传新的jdk-8u25-linux-x64.rpm软件到/usr/local/执行以下操作: 
备注:此时路径是在该压缩包存放路径下
[root@lin local]# rpm -ivh jdk文件名.rpm

如图所示

image

JDK默认安装在/usr/java中

1
2
3
4
执行以下操作,查看信息是否正常:
[root@localhost ~]# java
[root@localhost ~]# javac
[root@localhost ~]# java -version

配置环境变量
参考的网上资料我也不晓得为啥要配置…别人都配置了?好吧 我也配置下吧,应对以后某些软件可能会根据配置查找jdk

1
2
3
4
5
6
7
8
9
直接用 vi 命令 编辑系统配置文件 也就是root用户下的
[root@localhost ~]# vi /etc/profile
打开后直接在文本最后写入(根据自己jdk文件夹名字)

JAVA_HOME=/usr/java/jdk1.8.0_25
JRE_HOME=/usr/java/jdk1.8.0_25/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
  • 这里涉及到一个vi命令编辑后退出的操作
1
2
3
4
5
6
7
8
9
vi有3种基本工作模式:命令行模式、文本输入模式和末行模式

vi 的进入与退出,shell模式下输入需要编辑的文件名,如:vimfile1.php即可编辑文件。

退出 vi 时,需要在末行模式中输入退出命令“q”。
如果在文本输入模式下,首先按“ESC” 键进入命令模式,然后输入“:”

进入末行模式在末行模式下,可使用如下退出命令。
退出时:1、:q 是直接退出;2、wq 保存后退出;3、:q! – 不保存内容, 强制退出

使修改生效

1
2
3

[root@localhost ~]# source /etc/profile //使修改立即生效
[root@localhost ~]# echo $PATH //查看PATH值

查看系统环境状态

1
2
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_25/bin:/usr/java/jdk1.8.0_25/jre/bin


还有一种方式就是YUM安装

查看CentOS自带JDK是否已安装。

1
2
3
4
5
6
7
8
9
10

- yum list installed |grep java。

若有自带安装的JDK,如何卸载CentOS系统自带Java环境?
卸载JDK相关文件输入:
yum -y remove java-1.7.0-openjdk*
卸载tzdata-java输入:
yum -y remove tzdata-java.noarch
当结果显示为Complete!即卸载完毕。
注:“*”表示卸载掉java 1.7.0的所有openjdk相关文件

YUM安装 JDK 资料

1 JDK 是开发Java程序必须安装的软件,我们查看一下 ==yum== 源里面的 JDK:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
yum list java*

Available Packages

java-1.7.0-openjdk.x86_64
java-1.7.0-openjdk-demo.x86_64
java-1.7.0-openjdk-devel.x86_64
java-1.7.0-openjdk-javadoc.noarch
java-1.7.0-openjdk-src.x86_64
java-1.8.0-openjdk.x86_64
java-1.8.0-openjdk-debug.x86_64
java-1.8.0-openjdk-demo.x86_64
java-1.8.0-openjdk-demo-debug.x86_64
java-1.8.0-openjdk-devel.x86_64
java-1.8.0-openjdk-devel-debug.x86_64
java-1.8.0-openjdk-headless.x86_64
java-1.8.0-openjdk-headless-debug.x86_64
java-1.8.0-openjdk-javadoc.noarch
java-1.8.0-openjdk-javadoc-debug.noarch
java-1.8.0-openjdk-src.x86_64
java-1.8.0-openjdk-src-debug.x86_64

2 选择适合本机的JDK,并安装:

1
yum install java-1.8.0-openjdk* -y

3 安装完成后,查看是否安装成功:

1
java -version

查找 JDK1.8 的 JAVA_HOME

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#查找 javac :
$ whereis javac
$ javac: /usr/bin/javac /usr/share/man/man1/javac.1.gz

#可以看到, /usr/bin/javac, 一般来说 /usr/bin 默认加入了 PATH 路径,所以可以直接执行.

#然后一路跟踪,看软连接指向的位置( ll 是 ls -l 的快捷命令):

$ ll /usr/bin/javac
$ … /usr/bin/javac -> /etc/alternatives/javac

#然后继续:

$ ll /etc/alternatives/javac

#JDK1.8 大致是这个样子:

$ … /etc/alternatives/javac ->/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64/bin/javac

#再继续:
$ ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64/bin/javac

#不再是软连接。 结合这个地址可以分析得到, JAVA_HOME 的值应该是
$ /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64。

#使用这个地址就可以了!

#如果继续下一步查看:

$ ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64

$具体内容类似下面这样:

total 16
drwxr-xr-x. 2 root root 4096 Sep 21 23:08 bin
drwxr-xr-x. 3 root root 4096 Sep 21 23:08 include
drwxr-xr-x. 4 root root 26 Sep 21 23:08 jre
drwxr-xr-x. 3 root root 4096 Sep 21 23:08 lib
drwxr-xr-x. 2 root root 4096 Sep 21 23:08 tapset

#查看软连接:

#查看 jvm 目录:

$ ll /usr/lib/jvm

#则可以看到很多软连接:

java -> /etc/alternatives/java_sdk
java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64
java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64-debug
java-openjdk -> /etc/alternatives/java_sdk_openjdk
jre -> /etc/alternatives/jre
jre-1.8.0 -> /etc/alternatives/jre_1.8.0
#类似这样的,不管 jre 开头的部分,可以看到 /etc/alternatives/java_sdk_1.8.0 这样的目录;

#执行 :

$ ll /etc/alternatives/java_sdk_1.8.0
$ ll /etc/alternatives/java_sdk
#然后发现, 这一堆链接都是指向上面的 JAVA_HOME 路径:

$ /etc/alternatives/java_sdk_1.8.0 ->/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64
#所以,可以使用其中之一作为 JAVA_HOME 环境变量的值。

#说明: 既然安装了,基本上服务器上就不会频繁变更. #如果有变更,则查找并修正即可。

#3.3 将 JAVA_HOME 加入环境变量:

$ export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0

#当然, export 只是临时的。下次重启后就没了。

#可以添加到rc文件,比如 /etc/rc.d/rc.local 之中。

#当然,可以使用 vim 编辑, 或者是 echo >> 命令
jhometip='# add JAVA_HOME'
jhomescript='export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0'

$ sudo echo $jhometip >> /etc/rc.d/rc.local
$ sudo echo $jhomescript >> /etc/rc.d/rc.local