gentoo 安装jdk

首先,安装eix
然后搜索
eix -s jdk
最后
安装指定的jdk


1.  安裝 JRE/JDK

導覽

Java 是由 Sun Microsystems 的工程師發展的程式語言。這是一種物件導向的語言,而且不用在平台上重新編譯就可以在那種平台執行。雖然 Java 可以用原生的方式執行,Java 受到好評的原因大部份是可以跨平台執行,還有其他的像是垃圾收集等等。他們編譯一次就可以在各平台執行的能力是由即時編譯器(JIT)完成的,他在執行 Java 程式時把 Java bytecodes 編譯成原生的程式。

為了要執行 Java bytecodes,需要安裝 JRE (Java Runtime Environment)。JRE 提供了核心函式庫,和平台相依的 Java 虛擬機器,瀏覽器的外掛,還有其他東西。JDK (Java Development Kit) 則加上了程式工具,像是 bytecode 編譯器及除錯器。

2.  安裝 JRE/JDK

選擇

Gentoo 提供幾種不同的 JDK 和 JRE。在目前可以用的清單中,我們有:

    * blackdown-jre and blackdown-jdk, the Blackdown Java Kit
    * sun-jre-bin and sun-jdk, Sun's Java Kit
    * ibm-jre-bin and ibm-jdk-bin, the IBM Java Kit
    * compaq-jre and compaq-jdk, the Compaq Java Kit for Alpha/Linux/GNU
    * jrockit-jdk-bin, BEA WebLogic's J2SE Development Kit

預設的是 Blackdown JRE/JDK,因為它們不需註冊就可以免費 ("像啤酒一樣") 下載。

Sun JRE/JDK 和 IBM JRE/JDK 一般都比較快,不過您得花更多功夫得到它們。它們要求您下載之前先同意一份合約 (IBM 還要求您註冊)。

我們寫給 Sun 和 IBM JRE/JDK 的 ebuilds 會告訴您那裡可以下載它們。

安裝 Sun/IBM JRE/JDKs

如果您執行 emerge =sun-jdk-1.4.2.06 或 =ibm-jdk-bin-1.4.2,您會被要求自己下載壓縮檔。這是由於 Sun JRE/JDK (線上同意授權) 以及 IBM JRE/JDK 的授權方法的關係。

注意: ibm-jdk-bin 目前是被封鎖的,你在使用前需要先將他解除封鎖。

您應該將檔案下載至 /usr/portage/distfiles。下載完成後,您可以重新執行 emerge 命令,然後 JRE/JDK 就會正確的被安裝在 /opt。

3.  設定您的 JRE/JDK

導覽

Gentoo 擁有能夠讓您安裝多個 JDK 和 JRE 而且不會打架的特異功能。不過有幾點要注意的,如下列所示。

使用 java-config 這個小工具,您可以設定系統的 Java 預設值,當然您得是根 (root) 使用者。使用者也可以用 java-config 來設定他們自己的個人預設值,如果和他們想使用系統預設值不同的 Java 的話。

設定預設的 JRE/JDK

執行 java-config --list-available-vms 可以列出目前系統上所有可用的 JRE 和 JDK,這裡是輸出的範例:

原始碼 3.1: 列出可用的虛擬機器

# java-config --list-available-vms
[blackdown-jdk-1.3.1] Blackdown JDK 1.3.1 (/etc/env.d/java/20blackdown-jdk-1.3.1)
[blackdown-jre-1.3.1] Blackdown JRE 1.3.1 (/etc/env.d/java/20blackdown-jre-1.3.1)
[ibm-jdk-1.3.0] IBM JDK 1.3.0 (/etc/env.d/java/20ibm-jdk-1.3.0)
[ibm-jdk-1.3.1] IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)
[ibm-jre-1.3.1] IBM JRE 1.3.1 (/etc/env.d/java/20ibm-jre-1.3.1)
[sun-jdk-1.4.0] Sun JDK 1.4.0 (/etc/env.d/java/20sun-jdk-1.4.0)

在引號 "[]" 中的名稱是虛擬機器的詳細名稱和 ID。您將這些 ID 送給 java-config --set-system-vm 來設定想使用的虛擬機器,底下是一個設定的範例:

原始碼 3.2: 設定系統虛擬機器

# java-config --set-system-vm=ibm-jdk-1.3.1
Now using IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)

注意: 您必須以根 (root) 使用者的身份來執行 --set-system-vm。

在您使用特定的虛擬機器 ID 執行 java-config --set-system-vm 之後,您必須重新建立您的 /etc/profile.env,如下:

原始碼 3.3: 重建 /etc/profile.env

# env-update

在這之後,您可能會想重新登入,或者重新引入 /etc/profile 環境設定。

如果您是普通使用者,您可以使用 java-config --set-user-vm,這將建立擁有所有必須環境變數的 ~/.gentoo/java-env 檔案。您可以普通的在殼 (shell) 的啟始命令稿中引入這個檔案 (我的是 ~/.bashrc)。

設定預設的 CLASSPATH

java-config也可以用來設定系統預設的 CLASSPATH,當然也可以設定使用者個人的預設 CLASSPATH。

首先,您可能會想看看有什麼函式庫可以放進您的 CLASSPATH,這是一個輸出的例子:

原始碼 3.4: 列出類別

# java-config --list-available-packages
[bsh] BeanShell is a small, free, embeddable, Java
source interpreter with object scripting language
features. (/usr/share/bsh/package.env)
[oro] A set of text-processing Java classes that
provide Perl5 compatible regular expressions, AWK-like
regular expressions, glob expressions, and utility
classes for performing substitutions, splits, filtering
filenames, etc. (/usr/share/oro/package.env)
[bcel] The Byte Code Engineering Library: analyze, create,
manipulate Java class files (/usr/share/bcel/package.env)
[jsch] JSch is a pure Java implementation of SSH2.
(/usr/share/jsch/package.env)
...

再次的,在於 "[]" 中的名稱是您必須傳送給 java-config --set-system-classpath 的 ID,所以:

原始碼 3.5: 設定類別目錄

# java-config --set-system-classpath=log4j,java-gtk,java-gnome

注意: 目前的目錄 (.) 不會出現在系統類別目錄中,它應該被加入根 (root) 使用者的登入設定裡。

再次的,您必須執行 env-update 以更新您的系統環境設定,而您可能也會想重新登入或重新引入 /etc/profile。

對一般使用者,java-config --set-user-classpath 會建立 ~/.gentoo/java-env-classpath,它會自動被 ~/.gentoo/java-env 引入。

4.  使用 Java 的 USE 設定

設定 USE 棋標

關於更多 USE 棋標的資訊,參考手冊中 USE 設定 這章。

可以用的棋標

    * java 棋標對許多程式加入 Java 支援。
    * The mozilla 棋標加入對 Mozilla 類瀏覽器的支援 (包括 Firefox) 如果你用 blackdown's Java kit。你需要加入這個才能在 Mozilla 類瀏覽器中瀏覽 Java applets

5.  更多資源

離線資源

    * java-config 的男人頁 (man page)
    * java-config --help
    * /usr/bin/java-config 命令稿本身

線上資源

    * gentoo-dev 、gentoo-user 郵件列表存檔
    * irc.freenode.net 上的 #gentoo 以及 #gentoo-java 頻道
    * Wikipedia 的 Java 段落

你可能感兴趣的:(java,jdk,linux,IBM,sun)