易截截图软件、单文件、免安装、纯绿色、仅160KB

简化Java应用程序的打包和发布

发布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 文件的格式 是很简单的,每一行都是 名-值 对应的:属性名开头,接着是 ":" ,然后是属性值,每行最多72个字符,如果需要增加,你可以在下一行续行,续行以空格开头,以空格开头的行都会被视为前一行的续行。
  
  所有在开头的属性都是全局的,你也可以定义特定class 或package的属性,稍后将介绍这种
  
  把manifest文件插入JAR文件
  
  使用 m 选项,把指定文件名的manifest文件 传入,例如
  jar cvfm myapplication.jar myapplication.mf -C classdir
  
  如果你使用ant来创建时,在ant 的build.xml 加入如下条目
  <tar


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

Java Reflection 浅析2

inner class和outer class之间的reflection应用。
package com.gaoqian.reflection;
import java.lang.reflect.Field;  
import java.lang.reflect.Modifier;  
import java.lang.reflect.Constructor;  
import java.lang.reflect.Method;  
 
class IncludeInn ......

Java/JSP获得客户端网卡MAC地址的三种方法解析

从网上查找资料java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种。
1、通过命令方式,在客户端执行Ipconfig 等等
2、通过ActiveX的方法
3、通过向137的端口发送查询指令的方法
简介:
第一种方法,在真正用到时候不知道为什么获得mac地址的指令阻塞了,不往下继续执行。而且速度是这三种方法中最慢的一种。
代码如下 ......

JAVA通用Dao接口和hibernate的具体实现

基于泛型的通用Dao接口:(重要是在应用hibernate或JPA时运用)
  package com.qiujy.dao;
  import java.io.Serializable;
  import java.util.List;
  /**
  * 基于泛型的通用Dao接口
  */
  public interface GenericDao {
  void create(T entity);
  void delete(T entity);
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号