Apr 27

[原]再谈Firefox安装java插件的问题 不指定

linuxing , 20:57 , 基础知识 » 故障处理 , 评论(0) , 引用(0) , 阅读(18489) , Via 本站原创 | |
    过去曾写过一遍日志,描述了如何为Firefox安装java插件的情况,见《手动安装FireFox java插件》。当时的平台是红旗 DC Server 5.0 SP2 for x86,由于java的问题,该方式并不适用于x86_64平台。经过多天的查询和测试,下面我总结一下不同平台下的情况。

一、java的版本
因下面的内容涉及到java的版本问题,故在继续前,我先简单介绍一下java的版本:
引用
JRE Family Version:1.4.2 ==> Security Baseline :1.4.2_19
JRE Family Version:5.0 ==> Security Baseline :1.5.0_17
JRE Family Version:6.0 ==> Security Baseline :1.6.0_20

可见,从5.0开始,JRE Family Version与Security Baseline 名称是有区别的,一般我们使用的JRE或JDK包都以Security Baseline 命名。

二、FireFox的Java插件
《手动安装FireFox java插件》一文可以知道,在x86(32bit)平台下安装Java插件是比较简单的。但x86_64则不同,原因是Java 5.0以后的x86_64版本不提供该插件。
这参考自:Java Runtime Environment (JRE) - JRE 1.5 on AMD64 Linux - missing module
原文如下:
引用
On another forum, a Mr. Stanley Ho (identified as a Java Deployment Architect from Sun Microsystems), said that it was because there was no "official port" of a 64-bit mozilla browser. So, the JRE has no plugin modules, because of some porting issues, according to Mr. Ho.

不过,从 Java 6 u12(即1.6.0_12)开始,Sun官方的版本中又提供了Firefox的插件,但只适用于FireFox 3。而在之前的替代方案,则只能用OpenJDK提供的java-1.6.0-openjdk来实现,但该版本同样只适用于FireFox 3。
而对于FireFox 1.5 x86_64的版本,则只能使用Blackdown JRE 1.4.2,配置方法与32bit一样。
因此,出现了下面的对应关系:
1、x86 环境
引用
FireFox 1.5 plugins <-> Java 1.4.2 及以上,包括5.0/6.0 <-> 插件名 libjavaplugin_oji.so
FireFox 3 <-> Java 5.0 以上<-> 插件名 libnpjp2.so

2、x86_64 环境
引用
FireFox 1.5 plugins <-> Blackdown JRE 1.4.2 <-> 插件名 libjavaplugin_oji.so
FireFox 3 plugins <-> Java 1.6.0_12 以上 或 OpenJDK 1.6.0 <-> 插件名 libnpjp2.so

三、FireFox 1.5(及以下版本)Java插件安装
1、 x86 平台:
该版本的Java插件安装基本与《手动安装FireFox java插件》一文相同,也就是做个插件的软链接。
引用
# cd /usr/lib/firefox-1.5.0.9/plugins
# ln -s /usr/lib/jdk/jre/plugin/i386/ns7/libjavaplugin_oji.so ./
# ll libjavaplugin_oji.so
lrwxrwxrwx  1 root root    53  1月 22 16:17 libjavaplugin_oji.so -> /usr/lib/jdk/jre/plugin/i386/ns7/libjavaplugin_oji.so

2、 x86_64 平台:
唯一需要考虑的是,Blackdown JRE 1.4.2 因版本太老,可能比较难找到,我这里提供一个下载:
下载文件
这个文件只能在登入之后下载。请先 注册登入

执行下面的命令后,会在当前目录下自动解压一个j2re1.4.2目录:

# cd /usr/java/
# sh  /root/j2re-1.4.2-03-linux-amd64.bin

剩下的就是做链接和配置Java的环境变量了:
a. 链接

# ln -s /usr/java/j2re1.4.2/plugin/amd64/mozilla/libjavaplugin_oji.so /usr/lib64/firefox-1.5.0.9/plugins/libjavaplugin_oji.so

b. 修改PATH变量:

# cat <<EOF>> /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/j2re1.4.2
export PATH=$JAVA_HOME/bin:$PATH
EOF
# source /etc/profile.d/java.sh

c. 修改默认Java (可选):

# /usr/sbin/alternatives --install /usr/bin/java java /usr/java/j2re1.4.2/bin/java
# /usr/sbin/alternatives --config java

选择2即可。
d.查看默认Java版本:
引用
# /usr/sbin/alternatives --display java
# java -version
java version "1.4.2-03"
Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.2-03)
Java HotSpot(TM) 64-Bit Server VM (build Blackdown-1.4.2-03, mixed mode)

※ 注意:由于使用的Java版本实在太低,为1.4.2,故可能有部分基于Java 5.0以上的应用在该浏览器中无法正确运行,但也没有更好的解决办法了。

三、FireFox 3(即1.5 以上版本)Java插件安装
同样是需要做链接,但目标路径不同,而且正如上面所说的,x86_64平台下,必须使用Sun Java1.6.0_20以上,或OpenJDK 1.6.0版本。
这时,插件是放在用户的主目录下,没有该目录请自行创建:
引用
~/.mozilla/plugins

1、 x86 平台:
以红旗 Asianux 3.0 SP2 for x86 为例:
引用
# java -version
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
# cd ~/.mozilla/
# mkdir plugins
# cd plugins
# ln -s /usr/lib/jdk/jre/lib/i386/libnpjp2.so ./
# ll libnpjp2.so
lrwxrwxrwx 1 root root 37 04-27 21:17 libnpjp2.so -> /usr/lib/jdk/jre/lib/i386/libnpjp2.so

2、x86_64 平台:
以红旗 Asianux 3.0 SP2 for x86_64 为例,先把系统自带的FireFox 1.5升级到3.0.18,Java 从 1.6.0_06升级到1.6.0_20:
引用
# firefox -version
Mozilla Firefox 3.0.18, Copyright (c) 1998 - 2010 mozilla.org
# java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

然后做链接:
引用
# cd ~/.mozilla/plugins/
# ln -s /usr/java/jdk1.6.0_20/jre/lib/amd64/libnpjp2.so ./
# ll libnpjp2.so
lrwxrwxrwx 1 root root 47 04-27 12:34 libnpjp2.so -> /usr/java/jdk1.6.0_20/jre/lib/amd64/libnpjp2.so

以上这些软件都很容易获得,我就不再提供了。(OpenJDK的java-1.6.0-openjdk-1.6.0.0-1.2.b09.el5.x86_64.rpm可以从CentOS的Updates源获得)
(用JRE即可满足,JRE是运行环境,比较小,JDK包括开发环境,太大了)

四、参考资料
Java Runtime Environment (JRE) - JRE 1.5 on AMD64 Linux - missing module
为 Linux 下载和安装 Java Runtime Environment (JRE) 的说明
JavaTM SE 6 Update Release Notes
Java/How To use Java with Firefox on 64-bit openSuSE 10.3
OpenJDK
How to download and install prebuilt OpenJDK packages
Blackdown Java Installation x86_64
Java Plug-In - Installing new 64bit plugin on Ubuntu 8.10 amd64 and Firefox 3.0.5
Tags: ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]