Welcome 微信登录

首页 / 软件开发 / JAVA / 在异构UNIX系统间可靠的迁移Java应用

在异构UNIX系统间可靠的迁移Java应用2011-04-16 IBM Shen Yu引言

使用 Java Native Interface (JNI) 编写 Java™ 应用程序可能充满挑战。C/C++ 代码比较复杂,并且维护其构建系统也是一项非常烦琐的任务。当基础平台的数量增加时, 如果不经过精心设计,整个构建系统可能会变得一团糟。有一种选择是,为每种平台构造一 种单独的构建系统,尽管从软件工程的角度来说,这样做不是很合适并且可能带来很大的麻 烦。

要确保能够移植到许多异类 UNIX® 平台,那么构建系统必须是可插入的。通过集成 Apache Ant、GNU Compiler Collection (GCC)、Make 和 Subversion,您可以创建一个功能 强大的构建系统。应该将构建系统组件化,这样一来,为新的组件添加或删除新的平台支持 就非常简单。它还应该使用各种技术以便自动地检测当前的平台,然后调用相应平台特定的 构建组件。本文介绍了如何构造这样的系统,您将学习到下面的内容:

集成 Ant、GCC、Make 和 Subversion

设计可插入的和可移植的构建系统及其源代码布局

在设计本地构建组件时,描述值得注意的 GCC 标志

自动检测当前构建环境,并设计任务依赖关系

集成 Ant、GCC、Make 和 Subversion

本文中的构建环境涉及到许多开放源代码工具(请参见参考资料部分以进行下载):

Ant

Java Development Kit (JDK)

GCC

Make

Subversion

图 1 中显示了这个构建环境。Ant 主要负责:

检索代码到本地工作位置

调用 JDK 编译 Java 代码

调用 Make 构建本地代码

图 1. 构建环境