hanweiisjerry 2011-02-12
首先,安装eix
然后搜索
eix-sjdk
最后
安装指定的jdk
1.安裝JRE/JDK
導覽
Java是由SunMicrosystems的工程師發展的程式語言。這是一種物件導向的語言,而且不用在平台上重新編譯就可以在那種平台執行。雖然Java可以用原生的方式執行,Java受到好評的原因大部份是可以跨平台執行,還有其他的像是垃圾收集等等。他們編譯一次就可以在各平台執行的能力是由即時編譯器(JIT)完成的,他在執行Java程式時把Javabytecodes編譯成原生的程式。
為了要執行Javabytecodes,需要安裝JRE(JavaRuntimeEnvironment)。JRE提供了核心函式庫,和平台相依的Java虛擬機器,瀏覽器的外掛,還有其他東西。JDK(JavaDevelopmentKit)則加上了程式工具,像是bytecode編譯器及除錯器。
2.安裝JRE/JDK
選擇
Gentoo提供幾種不同的JDK和JRE。在目前可以用的清單中,我們有:
*blackdown-jreandblackdown-jdk,theBlackdownJavaKit
*sun-jre-binandsun-jdk,Sun'sJavaKit
*ibm-jre-binandibm-jdk-bin,theIBMJavaKit
*compaq-jreandcompaq-jdk,theCompaqJavaKitforAlpha/Linux/GNU
*jrockit-jdk-bin,BEAWebLogic'sJ2SEDevelopmentKit
預設的是BlackdownJRE/JDK,因為它們不需註冊就可以免費("像啤酒一樣")下載。
SunJRE/JDK和IBMJRE/JDK一般都比較快,不過您得花更多功夫得到它們。它們要求您下載之前先同意一份合約(IBM還要求您註冊)。
我們寫給Sun和IBMJRE/JDK的ebuilds會告訴您那裡可以下載它們。
安裝Sun/IBMJRE/JDKs
如果您執行emerge=sun-jdk-1.4.2.06或=ibm-jdk-bin-1.4.2,您會被要求自己下載壓縮檔。這是由於SunJRE/JDK(線上同意授權)以及IBMJRE/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]BlackdownJDK1.3.1(/etc/env.d/java/20blackdown-jdk-1.3.1)
[blackdown-jre-1.3.1]BlackdownJRE1.3.1(/etc/env.d/java/20blackdown-jre-1.3.1)
[ibm-jdk-1.3.0]IBMJDK1.3.0(/etc/env.d/java/20ibm-jdk-1.3.0)
[ibm-jdk-1.3.1]IBMJDK1.3.1(/etc/env.d/java/20ibm-jdk-1.3.1)
[ibm-jre-1.3.1]IBMJRE1.3.1(/etc/env.d/java/20ibm-jre-1.3.1)
[sun-jdk-1.4.0]SunJDK1.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
NowusingIBMJDK1.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]BeanShellisasmall,free,embeddable,Java
sourceinterpreterwithobjectscriptinglanguage
features.(/usr/share/bsh/package.env)
[oro]Asetoftext-processingJavaclassesthat
providePerl5compatibleregularexpressions,AWK-like
regularexpressions,globexpressions,andutility
classesforperformingsubstitutions,splits,filtering
filenames,etc.(/usr/share/oro/package.env)
[bcel]TheByteCodeEngineeringLibrary:analyze,create,
manipulateJavaclassfiles(/usr/share/bcel/package.env)
[jsch]JSchisapureJavaimplementationofSSH2.
(/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支援。
*Themozilla棋標加入對Mozilla類瀏覽器的支援(包括Firefox)如果你用blackdown'sJavakit。你需要加入這個才能在Mozilla類瀏覽器中瀏覽Javaapplets
5.更多資源
離線資源
*java-config的男人頁(manpage)
*java-config--help
*/usr/bin/java-config命令稿本身
線上資源
*gentoo-dev、gentoo-user郵件列表存檔
*irc.freenode.net上的#gentoo以及#gentoo-java頻道
*Wikipedia的Java段落
将jdk移动到/usr/local 这个目录下面。在文件的最后面添加下面配置:。 这明显不是之前配置的信息,需要修改一些配置:。 进入/usr/bin/这个路径显示java的软连接:。 删除该软链接: