2009年2月2日 星期一

在OpenSuSE上安裝JDK以及netbeans

我真是跟不上時代進步,我竟然不知道JDK已經可以直接從網路安裝了@_@

本文介紹兩種jdk安裝方式,一種是使用網路安裝openjdk,一種是手動安裝jdk。

1.透過網路自動安裝openjdk:
首先,先移除原本的java:

zypper remove java-1_6_0-sun Java-1_6_0-plugin

接著,再安裝openjdk:
zypper in java-1_6_0-openjdk java-1_6_0-openjdk-devel java-1_6_0-openjdk-plugin

其中,java-1_6_0-openjdk是jre,java-1_6_0-openjdk-devel是jdk,java-1_6_0-openjdk-plugin是給瀏覽器的plugin。如果你只要jre的環境,請只安裝java-1_6_0-openjdk就好;如果你需要可以開發的環境,請安裝java-1_6_0-openjdk-devel。

假如你所看到的openjdk的版本是1.5或是看不到openjdk,請加入下列repo:

JAVA.repo
-----------------------
[JAVA]
name=JAVA
enabled=1
autorefresh=1
baseurl=http://download.opensuse.org/repositories/Java:/packages/openSUSE_11.1/
path=/
type=rpm-md
keeppackages=0
-----------------------
此時,請到java的網站驗證是否裝了瀏覽器的plugin: 沒錯,我們的jdk版本實在是太舊了(目前最新的版本為1.6.0 update 11,安裝的版本為最早期的1.6.0)。其實java se 6的差異實在不大,如果你沒有追求最新版的慾望,事實上已經建置好java的開發環境了;但是假設你就是想要用最新版的jdk,請參考第二部份的手動安裝。

2.手動安裝JDK
請到sun官網下載JDK 6 Update 11或是JDK 6 Update 11 with NetBeans 6.5(bundle)。安裝bundle比較簡單,這裡介紹分開安裝的方式。安裝以前建議先把openjdk移除,除非你有需要兩個版本的jvm。

zypper rm java-1_6_0-openjdk java-1_6_0-openjdk-devel java-1_6_0-openjdk-plugin
然後先安裝jdk 6 update 11(不建議安裝rpm的那個):
mv jdk-6u11-linux-i586.bin /opt/sun/
sh /opt/sun/jdk-6u11-linux-i586.bin
此時你還需要手動設定jdk的PATH。你需要新增兩行到.profile下:
JAVAHOME=/opt/sun/jdk1.6.0_11/
JDK=/opt/sun/jdk1.6.0_11/bin
export PATH=$PATH:$JDK
接著安裝netbeans:
mv netbeans-6.5-ml-javase-linux-tw.sh /opt/sun/
sh /opt/sun/netbeans-6.5-ml-javase-linux-tw.sh
結果卻出現:
Configuring the installer...
Searching for JVM on the system...
sed: -e expression #1, char 52: Invalid range end
sed: -e expression #1, char 52: Invalid range end
sed: -e expression #1, char 52: Invalid range end
sed: -e expression #1, char 52: Invalid range end
sed: -e expression #1, char 52: Invalid range end
sed: -e expression #1, char 52: Invalid range end
sed: -e expression #1, char 52: Invalid range end
Java SE Development Kit (JDK) was not found on this computer
JDK 6 or JDK 5 is required for installing the NetBeans IDE. Make sure that the JDK is properly installed and run installer again.
You can specify valid JDK location using --javahome installer argument.

To download the JDK, visit http://java.sun.com/javase/downloads
暫時設定java的PATH給root吧:
JAVAHOME=/opt/sun/jdk1.6.0_11/
export PATH=$PATH:$JAVAHOME
或是使用參數的方式安裝:
sh /opt/sun/netbeans-6.5-ml-javase-linux-tw.sh --javahome /opt/sun/jdk1.6.0_11
就可以成功啟動安裝程式了。為了方便管理,我一樣把netbeans安裝在/opt/sun底下: 便可以成功啟動netbeans。

3.手動安裝支援java的plugin給瀏覽器
如果不是suse系列的linux,安裝的方式請參照sun的官方教學。如果是java的話,使用官方的教學是沒有用的。suse無論使用任何瀏覽器都會去讀取同一個動態函式庫,因此:

ln -s /opt/sun/jdk1.6.0_11/jre/plugin/i386/ns7/libjavaplugin_oji.so /var/lib/rpm/alternatives/libjavaplugin.so
更多資訊請參考: 簡易佈署java程式 Java on Linux 簡易設定

沒有留言: