Fedora8下有三种Java可供选择──官方的SunJava、开源的GNU的gcj以及基于SunJava的开源JDK(OpenJDK)。标准的Fedora8安装会安装IceTea。它基于OpenJDK,比GNU的gcj复杂一些,但是其表现与SunJava仍然有一定的差别。在Fedora8的发行注记中可以得到关于他们的更多的消息。
1、IcedTea
IcedTea很有可能在安装Fedora8的时候已经安装上了。如果没有安装的话可以使用yum进行安装。
[mirandam@charon~]$sudoyuminstalljava-1.7.0-icedteajava-1.7.0-icedtea-plugin
安装了IcedTea以后,Java程序和Webapplets应该可以自动工作了。如果IcedTea的浏览器插件没有被Firefox或Mozilla自动加载的话,可以使用下列命令来手动加载:
[mirandam@charon~]$sudo/usr/bin/mozilla-plugin-config-i-f
2、SunJava
如果你希望使用SunJava来取代IcedTea的话,你可以自己去网上下载安装。Sun官方提供了RPM包,但是我不推荐直接使用这种包。从下面这个网址下载Java包:
选择JavaRuntimeEnvironment(JRE)6Update3(如果是日常使用的话不要选择JDK,它是用于开发的)。在接下来的网页中接受licenseagreement,然后根据自己的CPU选择合适的包,例如:
Linuxself-extractingfile jre-6u3-linux-i586.bin 18.23MB。
下载之后就可以进行安装了:
[mirandam@charondownloads]$shjre-6u3-linux-i586.bin
此处会出现一些协议,空格进行翻页,最后输入yes,程序会自动进行解压。解压后将解压出来的文件移动到指定位置:
[mirandam@charondownloads]$sudomv-fjre1.6*/opt/jre1.6
之后我们需要进行设置,使系统可以自动调用SunJava而不是IcedTea或者GNU的gcj。
[mirandam@charondownloads]$sudo/usr/sbin/alternatives--install/usr/bin/javajava/opt/jre1.6/bin/java20000
[mirandam@charondownloads]$sudo/usr/sbin/alternatives--install/usr/lib/mozilla/plugins/libjavaplugin.solibjavaplugin.so/opt/jre1.6/plugin/i386/ns7/libjavaplugin_oji.so20000
注意:
1、如果想要换回IcedTea,需要重新执行上面的两条命令,但是将20000替换成为15000;
2、为了使SunJava的浏览器插件可以正常使用,可能还需要compat-libstdc++-33,安装方法见前文。
3、如果使用SunJava插件的时候遇到bug,可使用下面的方法使之正常工作:
[mirandam@charon~]$cd/opt/jre1.6/lib/i386/xawt/
[mirandam@charonxawt]$sudocplibmawt.solibmawt.so.orig
[mirandam@charonxawt]$sudosed-i's/XINERAMA/FAKEEXTN/g'libmawt.so
或者可以考虑将libX11的版本退回一个老的版本也同样有效。
4、升级SunJava很简单,删除原有的/opt/jre1.6这个文件夹,然后将新的文件夹拷贝过去就好了。
译者注:我使用的是SunJava,但是没有遇到过插件的问题。所以文中提到的浏览器插件问题我只是“照本宣科”而已。另外,如果想要使用SunJava,下载的时候一定要注意选择和自己的系统相配合的JRE,看清是x86还是amd64。