Apache Harmony 是 2005 年 5 月宣布的开放源码 Java SE 实现,本文是由 5 部分组成的 进入 Harmony 世界 系列文章的第五篇,这个系列主要介绍 Apache Harmony 项目的内部实现,最新发展现状和开源 Java 开发的模式,并鼓励和欢迎大家参与到 Harmony 的社区中来。
本文较详细地介绍了 Harmony 项目中一些重要的基础设施,展示如何搭建配置开发环境,以及如何参与到 Harmony 项目的实际开发中来。
什么是 Harmony
在 Java 开发社区中迫切的需要一个开源的 Java2 标准版(J2SE)运行平台(包括运行时环境和类库)。目前有很多基于这个目标的项目正在开发之中,比如 Kaffe,Classpath 等。同时,也有很多项目正在进行虚拟机的开发,比如 GCJ 和 IKVM。所有的这些工作,提供了一系列纷繁复杂的解决方案。然而正是多样性产生了障碍。比如 Kaffe 的类库不能在 GCJ 虚拟机上运行。这样的障碍降低了这些项目的价值。
Harmony 是 ASF(Apache Software Foundation)基金会资助的一个开源项目。该项目的目标是开发一个模块化的开源的 Java2 标准版(J2SE)运行时环境和类库。对于每一个新加入的项目,ASF 都要首先将其放入孵化箱,直到这个项目趋于稳定——使用的开发工具趋于稳定、开发的流程趋于稳定、关于开发的讨论趋于稳定、项目决议流程趋于稳定。处于孵化阶段的项目并不一定是代码不够完整,不够稳定,只是表示项目还没有完全被 ASF 基金会认可。Harmony 项目刚于近期完成了其孵化阶段,正式成为 Apache 的一个顶级项目,这意味着 Harmony 项目正在慢慢成熟。
Harmony 项目的设计目标有两个:
在 Apache Licence v2 的许可之下,独立的(不阅读 Sun JDK 的源代码,仅仅根据 Java SE 5 specification)开发一个与 Java SE 5 兼容的 JDK。
通过 Harmony 的开发社区,创建一个模块化的架构(包括虚拟机和类库)。该架构允许所有的独立开发项目可以共享运行时组件。
。。。。。。