Linux下jdk1.5的安裝及中文顯示問題解決方案

來源:互聯網
上載者:User

Linux下jdk1.5的安裝及中文顯示問題解決方案

本文未經本人許可切勿轉載!

摘要:隨著Sun發布J2SE 5.0,即jdk1.5,眾多新特性的加入和JVM效能的改善讓人心動。Windows下安裝和環境設定以及中文顯示自然沒什麼好說的,簡直可以說是傻瓜式的。但是Linux下就不會那麼順利了,尤其是中文字型的顯示一直以來總是困擾著初級使用者。Jdk 1.5.0的中文顯示設定和j2sdk 1.4.x時相比已經有了很大的改變。本文著重介紹jdk1.5在Linux作業系統下的安裝、環境變數設定和中文顯示問題的解決。

1.    首先,從sun下載jdk1.5的安裝檔案,一般有兩種。
:http://java.sun.com/j2se/1.5.0/download.jsp
Linux RPM in self-extracting file (jdk-1_5_0-linux-i586-rpm.bin, 42.50 MB)
Linux self-extracting file (jdk-1_5_0-linux-i586.bin, 43.95 MB)
簡單說一下兩個安裝檔案的區別,Linux RPM in self-extracting file是一個把rpm安裝包封裝在壓縮包內的二進位格式,在linux作業系統的命令列下,給檔案加上執行的許可權chmod a+x jdk-1_5_0-linux-i586-rpm.bin,然後./jdk-1_5_0-linux-i586-rpm.bin之後可以得到jdk-1_5_0-linux-i586.rpm這個rpm包,之後安裝rpm包還用多說嗎?rpm ?ivh package-name。前者的好處是容易安裝和維護,傻瓜式的。而後者則適合進階的使用者,相當於一個zip版本的“綠色”jdk,沒有安裝程式,安裝完之後可能需要做一些連結(具體可以參考jdk安裝指南文檔)。同樣地給後者加上執行許可權之後直接執行二進位檔案即可得到jdk 1.5.0,一般使用者的習慣都是將jdk放在/usr/java下,rpm安裝後預設是在/usr/java下。
2.    安裝好之後要做的便是環境變數的設定,也可分為兩種不同的情況。
第一種是對於單個使用者的的環境變數設定。需要修改使用者所對應的.bash_profile檔案。我們可以通過vi ~/.bash_profile來編輯目前使用者的bash_profile檔案,當然你也可以用你自己喜歡的編輯器。在開頭或者適當的地方插入一下代碼:
export JAVA_HOME=/usr/java/jdk1.5.0
export CLASSPATH=.
export PATH=$JAVA_HOME/bin:$PATH
然後儲存檔案,登出重新登陸之後在控制台下輸入java ?version,如果出現一下資訊則說明安裝設定已經成功。
注意:此代碼是為了看起來簡單,所以沒有加上複雜的變數引用,熟悉shell的使用者可以參  照第二種方法的代碼進行修改。
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)

第二種是設定Linux的全域環境變數(需要root許可權),修改/etc/profile,在適當的地方加入以下代碼:
JAVA_HOME=/usr/java/jdk1.5.0
PATH=$JAVA_HOME=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH JAVA_HOME CLASSPATH
修改完成後儲存,登出目前使用者重新登陸後按照第一種同樣的方法進行測試查看是否成功。
至此,基本的安裝和環境變數設定已經完成了。
至於正確顯示applet的瀏覽器的外掛程式安裝請查看Sun的文檔:
http://java.sun.com/j2se/1.5.0/install-linux.html#plugin
http://java.sun.com/j2se/1.5.0/manual_install_linux.html
接下來要說如何修改配置來正確顯示中文字型。
3.    最後來解決一下中文字型的顯示問題。Jdk1.5.0的字型配置和1.4.x的時候相比有了很大的差別。先來看一下不作任何修改的情況下ControlPanel中文字型的顯示情況,
 
雖然能顯示一下中文,但是有一大半是無法正常顯示的方塊,很不爽。下面我們就來解決這個問題。
先來看一下Sun公司對JRE1.5.0版的中文字型設定的官方說明中的一些資料:
介紹一下其字型設定檔的載入方案。其載入順序為(JavaHome指JRE的根目錄,下同):JavaHome/lib/fontconfig.OS.Version.properties
JavaHome/lib/fontconfig.OS.Version.bfc
JavaHome/lib/fontconfig.OS.properties
JavaHome/lib/fontconfig.OS.bfc
JavaHome/lib/fontconfig.Version.properties
JavaHome/lib/fontconfig.Version.bfc
JavaHome/lib/fontconfig.properties
JavaHome/lib/fontconfig.bfc
其中,OS欄位可以是:
Windows: "98", "2000", "Me", "XP", "2003"。
Solaris:空。
Linux: "Sun", "RedHat", "Turbo", "SuSE"。
而Version欄位指該OS的版本號碼。
在這些設定檔中,僅.properties檔案是文字檔。其格式跟JRE1.4.2版的不同。檔案分為幾段,並在每段開始時標明。
我們需要關注的僅有兩段:Component Font Mappings和Search Sequences。前者指定字型,後者指定要使用的properties的搜尋順序。
知道了這些,配置起來就簡單了。
看了是不是有點暈,而且覺得沒用?不要急下面會用到的。
先把字型檔Simsun.ttf(可以從windows下拷貝一份到linux下)拷貝到JRE的字型目錄$JAVA_HOME/jre/lib/fonts下,接著編輯字型目錄下的檔案fonts.dir,把第一行的數字加1,然後在最後加一行加上:
simsun.ttf -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
然後儲存檔案。
最後把字型設定檔改名為fontconfig.RedHat.properties這種形式(Fedora Core x也是Redhat的衍生物),把$JAVA_HOME/jre/lib下多餘的fontconfig開頭的檔案全部移到建立的bak目錄下,當然你不備份也可以只是除了問題不要找我^_^
注意:如果你的Linux不是Redhat和Fedora Core系列,請按照自己的發行版本對字型設定檔做相應的修改,參照Sun公司的資料,jds、Suse和Turbo應該沒問題了,至於Debian和Mandrake我就不得而知了,如果大家按照自己的方式修改成功了請告訴我詳細情況以便於我完善這個文檔。
然後再在控制台下執行ControlPanel看看,是不是很爽!
 
還有自己的程式也能完美的顯示中文字型了!
 
4.    參考文獻
http://addone.blogchina.com/blog/article_17203.216643.html
Sun公司對JRE1.5.0版的中文字型設定的官方說明:
http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html

本人能力有限,若有不當或者錯誤之處請大家不嗇指教!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.