BloggerAds

2015年8月18日 星期二

Oracle Linux 上安裝JDK(Java Development Kit)

From: Polin Wei

 之前的 JBoss 的 JBoss EAP6 Domain Mode Setup 與 JBoss EAP6.x Standalone Mode Cluster Configuration 都在 Windows 平台上作測試,現在起將拋棄 微軟 擁抱 Linux,因為後續的資料庫也是使用 Oracle DataBase,因此 Linux 平台選擇 Oracle Linux,大致的安裝過程可以查看 Oracle Linux Install Using LVM

安裝檔下載:
1. Oracle Linux 的來源可從下面取得:
https://edelivery.oracle.com/linux

2. 下載JDK:

Oracle的官網可以下載到最新的JDK版本,官網網址如下:http://www.oracle.com/technetwork/java/javase/downloads/index.html
所有的版本:http://www.oracle.com/technetwork/java/archive-139210.html

3. 指令:

會使用到 rpm 或 yum 的安裝移除令,可以參考 yum 基本介紹和參數說明

安裝 JDK 方法一開始(建議以此方法為主):

1. 查詢 Oracle Linux 預設的 openJDK : OracleLinux7.1_x86_64 所搭配的 Java 是 openJDK ,用 rpm -qa | grep java 查詢後將它移除

[root@localhost ~]# rpm -qa | grep java
java-1.7.0-openjdk-1.7.0.75-2.5.4.2.0.1.el7_0.x86_64
python-javapackages-3.4.1-6.el7_0.noarch
javapackages-tools-3.4.1-6.el7_0.noarch
tzdata-java-2015a-1.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.0.1.el7_0.x86_64

2. 移除 openJDK ,可以使用 yum remove java* 或者 rpm -e package_name 指令

[root@localhost ~]# yum remove java*
Loaded plugins: langpacks
Resolving Dependencies
--> Running transaction check
---> Package java-1.7.0-openjdk.x86_64 1:1.7.0.75-2.5.4.2.0.1.el7_0 will be erased
--> Processing Dependency: java-1.7.0-openjdk for package: icedtea-web-1.5.2-0.el7.x86_64
---> Package java-1.7.0-openjdk-headless.x86_64 1:1.7.0.75-2.5.4.2.0.1.el7_0 will be erased
---> Package javapackages-tools.noarch 0:3.4.1-6.el7_0 will be erased
--> Processing Dependency: jpackage-utils for package: rhino-1.7R4-5.el7.noarch
--> Processing Dependency: jpackage-utils for package: rhino-1.7R4-5.el7.noarch
--> Processing Dependency: jpackage-utils for package: tagsoup-1.2.1-8.el7.noarch
--> Processing Dependency: jpackage-utils >= 1.6 for package: tagsoup-1.2.1-8.el7.noarch
--> Processing Dependency: jpackage-utils for package: jline-1.0-8.el7.noarch
--> Running transaction check
---> Package icedtea-web.x86_64 0:1.5.2-0.el7 will be erased
---> Package jline.noarch 0:1.0-8.el7 will be erased
---> Package rhino.noarch 0:1.7R4-5.el7 will be erased
---> Package tagsoup.noarch 0:1.2.1-8.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                Arch   Version                      Repository     Size
================================================================================
Removing:
 java-1.7.0-openjdk     x86_64 1:1.7.0.75-2.5.4.2.0.1.el7_0 @anaconda/7.1 493 k
 java-1.7.0-openjdk-headless
                        x86_64 1:1.7.0.75-2.5.4.2.0.1.el7_0 @anaconda/7.1  90 M
 javapackages-tools     noarch 3.4.1-6.el7_0                @anaconda/7.1 155 k
Removing for dependencies:
 icedtea-web            x86_64 1.5.2-0.el7                  @anaconda/7.1 1.8 M
 jline                  noarch 1.0-8.el7                    @anaconda/7.1  72 k
 rhino                  noarch 1.7R4-5.el7                  @anaconda/7.1 1.0 M
 tagsoup                noarch 1.2.1-8.el7                  @anaconda/7.1 140 k

Transaction Summary
================================================================================
Remove  3 Packages (+4 Dependent packages)

Installed size: 94 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Erasing    : icedtea-web-1.5.2-0.el7.x86_64                               1/7
  Erasing    : rhino-1.7R4-5.el7.noarch                                     2/7
  Erasing    : jline-1.0-8.el7.noarch                                       3/7
  Erasing    : tagsoup-1.2.1-8.el7.noarch                                   4/7
  Erasing    : 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.0.1.el7_0.x86_64       5/7
  Erasing    : 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.0.1.el7_0.x   6/7
  Erasing    : javapackages-tools-3.4.1-6.el7_0.noarch                      7/7
  Verifying  : 1:java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.0.1.el7_0.x   1/7
  Verifying  : icedtea-web-1.5.2-0.el7.x86_64                               2/7
  Verifying  : tagsoup-1.2.1-8.el7.noarch                                   3/7
  Verifying  : rhino-1.7R4-5.el7.noarch                                     4/7
  Verifying  : 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.0.1.el7_0.x86_64       5/7
  Verifying  : jline-1.0-8.el7.noarch                                       6/7
  Verifying  : javapackages-tools-3.4.1-6.el7_0.noarch                      7/7

Removed:
  java-1.7.0-openjdk.x86_64 1:1.7.0.75-2.5.4.2.0.1.el7_0
  java-1.7.0-openjdk-headless.x86_64 1:1.7.0.75-2.5.4.2.0.1.el7_0
  javapackages-tools.noarch 0:3.4.1-6.el7_0

Dependency Removed:
  icedtea-web.x86_64 0:1.5.2-0.el7         jline.noarch 0:1.0-8.el7
  rhino.noarch 0:1.7R4-5.el7               tagsoup.noarch 0:1.2.1-8.el7

Complete!

3. 使用 rpm 指令安裝 jdk-8u45-linux-x64.rpm

[root@localhost tmp]# rpm -ivh jdk-8u45-linux-x64.rpm
正在準備…                       ################################# [100%]
Updating / installing...
   1:jdk1.8.0_45-2000:1.8.0_45-fcs    ################################# [100%]
Unpacking JAR files...
    rt.jar...
    jsse.jar...
    charsets.jar...
    tools.jar...
    localedata.jar...
    jfxrt.jar...
    plugin.jar...
    javaws.jar...
    deploy.jar...
[root@localhost tmp]# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
[root@localhost tmp]# javac -version
javac 1.8.0_45

利用 rpm 安裝完的 JDK,根目錄會在 /usr/java/jdk1.8.0_45
[root@localhost java]# pwd
/usr/java
[root@localhost java]# ls -l
總計 4
lrwxrwxrwx. 1 root root   16  8月 17 16:36 default -> /usr/java/latest
drwxr-xr-x. 9 root root 4096  8月 17 16:36 jdk1.8.0_45
lrwxrwxrwx. 1 root root   21  8月 17 16:36 latest -> /usr/java/jdk1.8.0_45

4. 編輯「/etc/profile」檔案

這個profile檔案裡寫的指令在系統開機時會自動執行。
 使用「export」指令來設定Java相關的系統環境變數。要設定的變數有「JAVA_HOME」、「JRE_HOME」、「PATH」、 「CLASSPATH」。「JAVA_HOME」為JDK的目錄,就是剛剛複製到「/usr/lib」目錄中的JDK目錄,「JRE_HOME」為 JRE(Java Runtime Environment)的目錄,JDK有包含JRE,位置就在JDK目錄下的「jre」目錄。「PATH」變數為系統尋找指令(檔案)的路徑,將 「JAVA_HOME」變數和「JRE_HOME」變數加進原先的「PATH」變數前。「CLASSPATH」變數為Java尋找Java程式所使用到的 Class路徑,路徑可以是目錄也可以是.jar檔案,將目前的目錄「.」和「$JAVA_HOME/lib」與「$JAVA_HOME/jre /lib」加進變數中吧!

範例如下:
export JAVA_HOME=/usr/java/jdk1.8.0_45
export JRE_HOME=/usr/java/jdk1.8.0_45/jre
export ANT_HOME=/opt/apache-ant-1.7.0
export JBOSS_HOME=/opt/jboss-eap-6.3

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$ANT_HOME/bin
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib
重新關機後,就可以生效。


(繼續閱讀...)

沒有留言:

張貼留言