[置顶] CentOS7 安装JDK1.8

时间:2022-02-12 15:10:03

CentOS7 安装JDK1.8

安装准备

  • Operating System: CentOS7.0
  • Installation: RPM package
  • Software: jdk-8u77-linux-x64.rpm

查看现有JDK版本

# check the current jdk version
[dtadmin@~]$ java -version
# check the current jdk details
[dtadmin@~]$ sudo rpm -qa | grep java

卸载自带openJDK

[dtadmin@~]$ sudo rpm -e --nodeps tzdata-java-1.8.0-openjdk
[dtadmin@~]$ sudo rpm -e --nodeps java-1.8.0-openjdk-headless
[dtadmin@~]$ sudo rpm -e --nodeps java-1.8.0-openjdk

rpm安装 JDK 1.8

[dtadmin@apollo ~]$ sudo rpm -ivh jdk-8u77-linux-x64.rpm

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for dtadmin:
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8.0_77-2000:1.8.0_77-fcs ###
############################## [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
jfxrt.jar...

验证JDK1.8

[dtadmin@apollo ~]$ java
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-server to select the "server" VM
The default VM is server.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A : separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose:[class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
Warning: this feature is deprecated and will be removed
in a future release.
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -no-jre-restrict-search
Warning: this feature is deprecated and will be removed
in a future release.
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions with specified granularity
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions with specified granularity
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
[dtadmin@apollo ~]$ javac
Usage: javac <options> <source files>
where possible options include:
-g Generate all debugging info
-g:none Generate no debugging info
-g:{lines,vars,source} Generate only some debugging info
-nowarn Generate no warnings
-verbose Output messages about what the compiler is doing
-deprecation Output source locations where deprecated APIs are used
-classpath <path> Specify where to find user class files and annotation processors
-cp <path> Specify where to find user class files and annotation processors
-sourcepath <path> Specify where to find input source files
-bootclasspath <path> Override location of bootstrap class files
-extdirs <dirs> Override location of installed extensions
-endorseddirs <dirs> Override location of endorsed standards path
-proc:{none,only} Control whether annotation processing and/or compilation is done.
-processor <class1>[,<class2>,<class3>...] Names of the annotation processors to run; bypasses default discovery process
-processorpath <path> Specify where to find annotation processors
-parameters Generate metadata for reflection on method parameters
-d <directory> Specify where to place generated class files
-s <directory> Specify where to place generated source files
-h <directory> Specify where to place generated native header files
-implicit:{none,class} Specify whether or not to generate class files for implicitly referenced files
-encoding <encoding> Specify character encoding used by source files
-source <release> Provide source compatibility with specified release
-target <release> Generate class files for specific VM version
-profile <profile> Check that API used is available in the specified profile
-version Version information
-help Print a synopsis of standard options
-Akey[=value] Options to pass to annotation processors
-X Print a synopsis of nonstandard options
-J<flag> Pass <flag> directly to the runtime system
-Werror Terminate compilation if warnings occur
@<filename> Read options and filenames from file

[dtadmin@apollo ~]$ java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

JDK环境变量设置

# set the jdk environment variables /etc/profile
[root@apollo jdk1.8.0_77]# sudo echo '#JDK1.8 configuration' >> /etc/profile
[root@apollo jdk1.8.0_77]# echo 'JAVA_HOME=/usr/java/jdk1.8.0_77' >> /etc/profile
[root@apollo jdk1.8.0_77]# echo "JRE_HOME=\$JAVA_HOME/jre" >> /etc/profile
[root@apollo jdk1.8.0_77]# echo "PATH=\$PATH:\$JAVA_HOME/bin:\$JRE_HOME/bin" >> /etc/profile
[root@apollo jdk1.8.0_77]# echo "CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib" >> /etc/profile
[root@apollo jdk1.8.0_77]# echo "export JAVA_HOME JRE_HOME PATH CLASSPATH" >> /etc/profile

# check the environment variables setting
[root@apollo jdk1.8.0_77]# tail -6 /etc/profile

#JDK1.8 configuration
JAVA_HOME=/usr/java/jdk1.8.0_77
JRE_HOME=$JAVA_HOME/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



# 使环境变量生效
[dtadmin@apollo jdk1.8.0_77]$ source /etc/profile
[root@apollo jdk1.8.0_77]# echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dtadmin/.local/bin:/home/dtadmin/bin:/bin:/bin:/usr/java/jdk1.8.0_77/bin:/usr/java/jdk1.8.0_77/jre/bin