Gentoo Logo

Gentoo Java Guide

內容:

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 命令稿本身

線上資源



列印

最後更新 2005年 3月 6日

這份文件的原始版本已不再被維護

大綱: 這份指南會把 Java 介紹給一般使用者及開發者,並且介紹如何在 Gentoo Linux 使用 Java。

Karl Trygve Kalleberg
Author and Editor

Sven Vermeulen
Editor

【Palatis】
Translator

Benny Chuang
Reviewer

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.