在异构UNIX系统间可靠的迁移Java应用

引言

使用 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. 构建环境

时间: 2024-10-09 15:54:37

在异构UNIX系统间可靠的迁移Java应用的相关文章

Unix系统逐渐远离

Unix系统所处环境之严峻,是笔者在对企业用户进行采访时感觉出来的.大型工程施工公司日本COMSYS此前一直将Solaris作为公司内部的标准OS,但今年却决定换成Linux. 比Windows和Linux更稳定--这是人们对Unix系统的普遍印象. 经营游戏网站"Hangame Japan"的NHN Japan公司根据不同用途分别使用相应类型的OS.该公司的佐野裕(网络与系统室室长)评价称:"即使增加负荷,Unix系统也丝毫不会慢下来. 源代码管理也非常安全可靠."

Unix系统下Find命令的应用

Find命令是Unix操作系统中一个很强大的工具.这个命令除了可以用来定位文件外,还有其他许多 很实用的用途.如可以用来备份文件.交互式删除文件.列举文件清单等等.只要灵活应用这些功能的 话,那么对于系统工程师的日常工作就能够起到事半功倍的效果. 一.利用Find命令对文件进行备份. 如在Unix操作系统中有一个用户为oracle.系统会在Home目录下自动为这个用户创建一个子目录 Oracle.现在用户希望能够对自己目录下的文件进行自动备份,以防止文件的以外丢失.如下图所示, 现在系统工程师准

如何备份UNIX系统

SCO UNIX系统因其稳定可靠的特点而在金融.保险等行业得到广泛应用,但它的安装与维护对于专业技术人员来说也不是一件轻松的事.笔者工作所维护的系统,安装有SCO UNIX操作系统.Informix数据库和其它应用软件,安装后还要调整核心参数.安装设备和链接核心.安装一套完整的系统需花费数小时.如果制作出系统的备份,那么当系统出现故障时,就再也不用手忙脚乱地安装和配置系统了.以下是笔者总结出来的制作UNIX系统备份的四种方法. 方法一:利用hdcopy 它是一个真正的硬盘物理拷贝软件,要求两块硬

《Linux/UNIX系统编程手册(上、下册)》——1.3 标准化

1.3 标准化 20世纪80年代末,可用的UNIX实现层出不穷,由此也带来了种种弊端.有些UNIX实现基于BSD,而另一些则基于System V,还有一些则是对两大"流派""兼容并蓄".更有甚者,每个厂商都在自己的UNIX实现中添加了额外特性.其结果是将软件及技术人员在不同UNIX实现间转移就变得异常困难.这一形式有力地推动了C语言和UNIX系统的标准化进程,使得应用程序能够在不同操作系统间很方便地进行移植.接下来,将介绍由此而产生的各种标准. 1.3.1 C编程语

《Linux/UNIX系统编程手册(上、下册)》——1.2 Linux简史

1.2 Linux简史 术语Linux通常用来指代完整的类UNIX(UNIX-like)操作系统,Linux内核只是其中的一部分.这么定义多少有些措辞不当,因为一般商业Linux发布版中所含的诸多关键组件实际上发源于另一项目,早在Linux问世前几年就已经启动了. 1.2.1 GNU项目 1984年,Richard Stallman之前一直供职于MIT的一位天赋异禀的程序员,开始着手创建一个"自由的(free)"UNIX实现.Stallman的观点属于道德层面,而对"free

java 系统间调用常采用的架构

问题描述 java常用的系统间架构调用方式1.http+json无语言限制效率不高2.webservice无语言限制效率不高3.rmi只可以JAVA效率高4.hessian无语言限制,效率高,但是热度不高5.socket调用无语言限制,效率高,编程难度大,有一些基于tcp/ip的好的Java框架,并且开发简单的吗?6.thrift无语言限制,效率高,但是热度不高7.zookeeper,无语言限制,效率高,但是热度不高8.待补充...欢迎大家吐槽...只是想选用一种常用的,那种用着比较舒服,但是性

实用:使用PHP脚本修改Linux或Unix系统口令

本文介绍如何使用PHP脚本修改Linux或Unix系统口令. 需要的工具和安装: 你必须安装下面的工具和软件: – 修改口令的Shell脚本; – Sudo 访问权; – Apache or Lighttpd web 服务器; – PHP服务端程序. 步骤1: 安装可以修改用户口令的shell脚本 该脚本可以实际用于修改Linux用户的口令(已在Linux和FreeBSD测试). 例子: shell脚本代码 #!/bin/sh # \ exec expect -f "$0″ ${1+"

Unix系统sar命令详解

在使用UNIX操作系统的过程中,我们常常会用到各种各样的问题,比如系统运行速度突然变慢,系统容易死机或者主机所带的终端常出现死机,这时我们常常猜测,是硬盘空间太小,还是内存不足?I/O出现瓶颈,或者是系统的核心参数出了问题?这时,我们应该考虑使用系统给我们提供的sar命令来对系统作一个了解,该命令是系统维护的重要工具,主要帮助我们掌握系统资源的使用情况,特别是内存和CPU 的使用情况,是UNIX系统使用者应该掌握的工具之一. sar 命令行的常用格式: sar [options] [-A] [-

Unix系统stty命令用法详解

UNIX系统的命令很多,下面讲解stty. 该命令是一个用来改变并打印终端行设置的常用命令. 1.stty(set tty,设置tty)命令用于检查和修改当前注册的终端的通信参数. UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过stty命令对特定终端或通信线路设置选项. 可以在stty命令中使用-a查看当前注册终端的设置情况. $ stty -a Speed 9600 baud; line =0;intr= DEL;quit = ^;erase = ^h;kill =^U;