关于Fedora 9的Java


1. OpenJDK
Fedora 9包括了OpenJDK 6, 一个自由软件实现的 Java平台标准版本。OpenJDK 6 尚未获得 Java 兼容性认证(验证工作正在进行中)。

Fedora将跟踪Sun的稳定版OpenJDK6分支

2. OpenJDK 代替 IcedTea
The OpenJDK 6 软件包, java-1.6.0-openjdk* 代替原来的IcedTea。相关部分, java-1.7.0-icedtea*。Fedora 8 IcedTea 软件包跟踪不稳定的OpenJDK 7分支, 然而java-1.6.0-openjdk* 软件包跟踪稳定的OpenJDK 6分支。用OpenJDK 6代替IcedTea的决定是由于一些原因:

Sun 已经去除了大部分阻碍软件进入 Fedora 的限制。其他一些障碍则通过合并IcedTea 项目中的代码来完成。

IcedTea的指令将被尽可能地合并到OpenJDK中,这样IcedTea和OpenJDK之间的差异将随着时间而消失。

OpenJDK6是一个稳定的分支,然而OpenJDK7是不稳定的,并且在2009年前不指望成为稳定版本。

Sun已经许可OpenJDK商标被Fedora使用。

同时带上OpenJDK 6和IcedTea将产生冲突,并且增加了发行版的大小。

IcedTea继续为自动化工具提供支持(autoconf , automake , libtool 等),一个为PowerPC和64位PowerPC体系的可移植解释器,插件支持,Web Start支持,和补丁到Fedora中集成的OpenJDK。IcedTea源被包括在java-1.6.0-openjdk SRPM中。

如果IcedTea已经安装,软件包不会进行自动转换。基于OpenJDK 7的IcedTea的相关软件包必须首先被删除,然后安装新的OpenJDK 6软件包。

su -c "yum erase java-1.7.0-icedtea{,-plugin}"
su -c "yum install java-1.6.0-openjdk{,-plugin}"

3. 运行 Java 小程序
主流的 OpenJDK 没有提供 Java 插件。Fedora 的 OpenJDK 软件包提供一个名为gcjwebplugin 的程序以在浏览器中运行不受信的 Java 小程序。这个插件被打包为 java-1.6.0-openjdk-plugin。

gcjwebplugin 不支持尚未支持二进制到 Javascript 通信,依赖于这个特性的小程序无法运行。体验性的支持在 IcedTea 代码中被提供,但是不够成熟,没有部署到 Fedora。

gcjwebplugin 不支持尚未支持签名的小程序,依赖于签名的小程序也会以未受信的模式运行。体验性的支持在 IcedTea 代码中被提供,但是不够成熟,没有部署到 Fedora。

gcjwebplugin 安全策略可能过于严格。要启用受限小程序,在终端下运行 firefox -g,查看被限制的内容,然后在 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/security/java.policy 文件中授予权限。

4. 处理Web Start应用
OpenJDK不提供Web Start的支持。实验性的通过NetX支持的Web Start现在在IcedTea仓库中,但不准备在Fedora中开发。

16.5. Fedora 与 JPackage
Fedora 包含很多来自 JPackage Project 的软件包。其中一些软件在被包括到 Fedora 中时被修改,以避免依赖于专有软件,并利用 GCJ 的先进的编译功能。使用 Fedora 仓库来更新这些软件包。使用 JPackage 仓库更新其他 Fedora 未提供的软件包。请参考 JPackage 网站 http://jpackage.org 有关网站和它提供的软件包的信息。

在这个版本中,原来的Fedora和JPackage jpackage-utils软件包间的不兼容问题已经解决了,这个不兼容是为了防止安装JPackage的jpackage-utils软件包。

混合 Fedora 和 JPackage 的软件包
在相同系统中安装 Fedora 和 JPackage 仓库的软件包前要查明软件包相容性。不相容的软件包会造成复杂的问题。

相关内容