博文

Manifest简化应用的打包和发布(2005-06-06 17:33:00)

摘要:

发布Java应用程序时你会感到困难?好在Java提供了一系列打包和发布工具,可以显著的简化发布过程


该文章提供了打包Java code的几种方法,我们将会探讨Java manifest 文件,给出用于管理JAR文件所依赖文件、估计跨平台发布所需的CLasspath的合适方法.我也会解释如何使用manifest包版本特性来确认包的兼容性...

什么是JAR文件?

在开发过程中,我们可以直接使用Java class文件来运行程序,但这并不是一个好方式,好在Java 提供了 JAR(Java Archive)文件来提供发布和运行。

jar 文件实际上是class 文件的ZIP压缩存档,这种格式被广泛使用,因此易与使用,有很多中工具可以操作这种格式的文件。也正是因为这个原因,jar文件本身并不能表达所包含应用程序的标签信息。

Manifest 因此得以出现

为了要提供存档的标签信息,jar 文件指定了一个特定目录来存放标签信息:META-INF 目录,其中我们来关注该目录中的MANIFEST.MF文件,他就是JAR的manifest文件,他包含了JAR文件的内容描述,并在运行时向JVM提供应用程序的信息,大多数JAR文件含有一个默认生成的manifest 文件,执行JAR命令或使用zip工具,都可以产生它。

如果是由jar命令产生的 manifest 文件,形如:
Manifest-Version: 1.0
Created-By:1.4.0-beta
(Sun Microsystems Inc.)


这些信息没甚么用,仅仅告诉我们使用的是1.0的manifest文件,第一行定义manifest的格式,第二行说明使用 SUN 的JDK1.4的jar工具生成该文件,如果manifest文件是由其他 (如ant) 创建的,那将会出现 “Created-By: Ant 1.2” 之类的内容,如果你是自己创建manifest文件,你可以加入自己的一些相关信息.





基础格式
manifest 文件的格式 是很简单的,每......

阅读全文(5067) | 评论:0

BAT常用命令(2005-06-06 14:32:00)

摘要:
echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。
echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。

例1:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。

  批处理文件的内容为:         命令注释:

    @echo off           不显示后续命令行及当前命令行
    dir c:\*.* >a.txt       将c盘文件列表写入a.txt
    call c:\ucdos\ucdos.bat    调用ucdos
    echo 你好            显示"你好"
    pause              暂停,等待按键继续
    rem 准备运行wps         注释:准备运行wps
    cd ucdos            进入ucdos目录
    wps               运行wps  

批处理文件的参数

批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”。

%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者T......

阅读全文(8858) | 评论:0

CVS管理员手册(2005-04-23 16:34:00)

摘要:1、前言:
    CVS(Concurrent Versions System 并发版本系统)是C/S结构的版本管理系统。允许多人同时对一个原代码库(Repository)的文件进行访问、操作。
CVS是“拷贝--修改--合并”的模型。
    目前在Linux和Windows下都有不同版本。其官方网站为服务器端:http://www.cvsnt.org 客户端:http://sourceforge.net/projects/cvsgui/
    本文适合用户CVS管理员和有一定CVS经验的人。

2、安装与配置
    本人使用的是CVSNT2.08和WINCVS2.002,服务奇及客户端均为WINXP系统。

    a) 服务器端(CVSNT)的安装比较简单。只要注意几点:
        i. 双击Service Control Panel,在Service Status页面,确认2个服务正常和稳定运行。
        ii. 选择Repository页面,点按Add按钮,选择已经准备好的目录作为资源库的根目录即可。在Valid Repository Roots会显示选择的目录,这时会在其目录下面建立CVSRoot目录,这是CVS默认的管理目录(默认模块)。
        iii. 选择Advanced页面,一般勾上Use local users for pserver ...(即使用服务器本地用户认证,而非域认证),OK。

    b) 客户端(WinCVS)的安装按照默认安装即可。配置注意以下几点:
    &......

阅读全文(10000) | 评论:0

Oracle PL/SQL NLS查询及设置(2005-04-20 11:36:00)

摘要:在使用ORACLE数据库的时候,常常连上数据库出现乱码的现象出现,原因:客户端的字符串集和数据库的不一直.
要取的数据库的字符集,并把客户端的字符集设置和数据库一直即可.取得的方法:
1.SQL:
     select value,parameter from nls_database_parameters where parameter in('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');
     依此组装即可,"NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET"。
2.创建procedure :
create or replace procedure get_nls is
  -- Local variables here
  langs varchar2(128) ;
  loc varchar2(128);
  charset varchar2(128);
begin
  -- Test statements here
  select value into langs from nls_database_parameters where parameter='NLS_LANGUAGE';
  select value into loc from nls_database_parameters where parameter='NLS_TERRITORY';
  select value into charset from nls_database_parameters where parameter='NLS_CHARACTERSET';
  -- Sure that :set serveroutput on
  ......

阅读全文(5745) | 评论:0