前言
JDK是 JAVA
的軟件開發工具包,如果要使用JAVA來進行開發,或者部署基於其開發的應用,那么就需要安裝JDK。本次將在Linux下安裝JDK及配置環境。
本人環境:CentOS 7.3 64位
下載JDK
在安裝之前,檢查是否存在Linux下自帶的OpenJDK,命令:rpm -qa | grep java。若存在,則需要進行卸載,命令:rpm -e --nodeps 卸載的軟件名。
JDK歷史版本鏈接:https://www.oracle.com/technetwork/java/javase/archive-139210.html
接着,我們可以通過 wget
命令下載JDK安裝包,或者下載后傳到Linux。我這里下載的安裝包版本是 jdk-8u131-linux-x64.tar.gz
。
解壓安裝包
創建一個文件夾,用於存放JDK安裝包,然后解壓到該目錄下。
創建文件夾:mkdir /root/JDK
進入文件夾:cd /root/JDK
解壓:tar -zxvf /root/JDK/jdk-8u131-linux-x64.tar.gz
可以看到,本次解壓到了當前目錄 /root/JDK/jdk1.8.0_131
下。
配置環境
解壓完成之后,我們要配置下環境變量,通過 vim
命令修改配置文件 /etc/profile
來設置環境變量。
vim /etc/profile
在文件最后一行,輸入 i
進入編輯模式,添加以下內容,然后按 Esc
退出編輯模式,再輸入 :wq
保存並退出。
export JAVA_HOME=/root/JDK/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
設置完之后,如果要使環境變量立即生效,需要通過命令:source /etc/profile
,重新加載配置文件。
驗證是否安裝成功
所有都配置好了,我們需要驗證下是否安裝成功。
依次輸入 java -version
、java
、javac
,不會出現報錯並且顯示出 jdk版本號
及 java/javac相關命令參數說明界面
。
[root@wintest JDK]# java -version
-bash: java: command not found
[root@wintest JDK]# source /etc/profile
[root@wintest JDK]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@wintest JDK]# 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.
[root@wintest JDK]# 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
[root@wintest JDK]#