`
yunmanfan
  • 浏览: 94015 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jar简介

阅读更多
from:JR

1. jar文件包

jar 文件就是 Java Archive File,顾名思意,它的应用是与 Java息息相关的,是 Java 的一种文档格式。jar文件非常类似 zip文件??准确的说,它就是 zip文件,所以叫它文件包。jar文件与 zip文件唯一的区别就是在 jar 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 jar文件的时候自动创建的。举个例子我们聊天系统的 ChatServer.jar所包含的目录结果如下:
|---com
| ---softfz
| ---chat
| ---Server.class
|--- META-INF
| --- MANIFEST.MF

MANIFEST.MF文件的内容如下:
Manifest-Version: 1.0
Main-Class: com.softfz.chat.Server

1. 创建可执行的 JAR 文件包


制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。
Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序。因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。
其实不然,如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了。在 Windows 下安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开。那么,对于一个可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由 hh.exe 打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包。
这里不具体讲jar的创建命令和过程。可执行的 jar文件包和不可执行的 jar文件包都包含 MANIFEST。关键在于可执行 jar文件包的 MANIFEST,其内容包含了 Main-Class 一项。这在 MANIFEST 中书写格式如下:
Main-Class: 可执行主类全名(包含包名)

MANIFEST.MF - 打包清单。它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行Java应用程序时是要根据此文件中给出的信息来查找入口类和支持库。
创建exe可执行程序
抛弃批处理文件(*.bat)
用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。
我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm
下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下图所示:


1. javaLauncher.zip目录结构


在上图的目录中
 source目录包含了JavaLauncher的源程序,是用C语言写的
 changes.txt是新版的修改说明
 launch.exe是主程序
 launcher.cfg是配置文件
 readme.txt是一些说明和示例
我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。launcher.cfg是一个仅三行内容的文本文件,将它修改如下:
.
.\java1.4.2\jre\bin\javaw.exe
-jar ChatServer.jar
 第一行设置指向JAR包ChatServer.jar的目录,由于launch.exe和ChatServer.jar同在一个目录,所以用“.”即当前目录。
 第二行设置指向jre\bin\javaw.exe的路径。可以把将%JAVA_HOME%jre目录复制到了java1.4.2子目录中。这里可以用绝对路径和相对路径,绝对路径可以直接用当前系统安装的Jdk。
配置好launcher.cfg后,双击launch.exe即可运行java应用程序。
注意点:执行.exe文件时候会先找跟.exe文件同名的.cfg配置文件,如果没有则会找launcher.cfg文件。所以可以在同一个文件目录下有多个exe可执行文件,exe文件名可以修改,配置文件最好是跟exe文件同名。
美化图标
launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource Hacker,它有中文版,下载网址是:
http://www.users.on.net/johnson/resourcehacker/
用Resource Hacker来替换launch.exe的图标的步骤如下:
(1)运行Resource Hacker,得到如下图所示的窗口。

Resource Hacker的主界面
(2)单击主菜单“文件→打开”,将launch.exe载入到程序中,结果如下图所示。


1. 载入Lanunch.exe之后的界面


(3)如上图,选择左边的“图标→1→1030”,然后右键单击“1030”项,选择“替换资源…”。如下图所示,在弹出窗口中单击“打开新图标文件”,选择一个满意的图标,然后单击“替换”按钮。
附注:图标文件可以是exe、dll、res、ico,该软件可以从exe、dll、res抽取出图标,本例选择的是java的一个图标文件JavaCup.ico。


1. 选择图标文件


(4)如下图所示,选择“文件→另存为”,取名ChatServer.exe。

保存修改
(5)最后的目录如下图所示,可见ChatServer.exe(也就是launch.exe改了个名称)的图标换成了Java的图标。双击ChatServer.exe即可运行Java应用程序。

3、最后的打包
发送给用户之前,通常要用WinZip或WinRAR将所有的文件全部打成一个压缩包,然后用户得到这个压缩包后,将其解压缩后即可运行程序。
另一种方式是用InstallShield、InstallAnyWhere这样的安装程序制作软件来创建一个单一的setup.exe文件,它具有向导式的安装界面,而且还可以往windows的程序栏插入菜单项,关于这些安装程序制作软件的具体使用请参阅相关书籍。
分享到:
评论

相关推荐

    jarjar-1.4.jar 动态更改包名

    一、jarjar-1.4.jar简介 jarjar-1.4.jar是一个Java命令行工具,它的主要功能是将一个或多个jar文件中的类文件进行重命名、移动或组合,生成新的jar包。这对于项目重构、依赖管理或解决命名冲突等问题非常有用。通过...

    Yozo_Office.jar

    一、Yozo_Office.jar简介 Yozo_Office.jar是一款基于Java平台的办公套件,它集成了文字处理、电子表格、演示文稿等多种功能,旨在提供一个跨平台、易于使用的办公环境。通过.jar文件格式,Yozo_Office实现了跨操作...

    sqljdbc41.jar

    一、sqljdbc41.jar简介 sqljdbc41.jar是Microsoft为Java应用程序提供的一种连接SQLServer数据库的Java Database Connectivity (JDBC)驱动程序。JDBC是Java平台的标准接口,它允许Java应用程序通过Java代码与各种...

    compiler.jar.rar

    一、compiler.jar简介 compiler.jar是一款JavaScript编译和压缩工具,它通过高效的算法将原始的JavaScript源代码压缩成更小的体积,减少网络传输的数据量,从而加快网页加载速度。这个工具的核心功能是将源代码转换...

    Guava的Jar包(guava-26.0-jre.jar)

    Guava是Google公司开发的一款适用于Java的工具类集合。

    ojdbc14.jar

    一、ojdbc14.jar简介 ojdbc14.jar是Oracle JDBC Thin驱动的实现,属于Oracle JDBC Driver Type 4。这种类型的驱动程序是纯Java实现,不需要依赖于本地的Oracle客户端,因此可以在任何支持Java的平台上使用。ojdbc14...

    apktool2.3.3.jar

    或者百度apktool.jar 简介: 一个反向工程的工具,第三方,封闭,二进制Android应用程序。它可以将资源解码到几乎原始的形式,并在修改后重建它们。它也使应用程序更容易,因为项目的文件结构和自动化的一些重复性...

    springside.jar

    一、springside.jar简介 springside.jar是基于Spring框架的一个轻量级工具库,旨在简化企业级Java开发。它由springside-project组织维护,包含多个子模块,如springside-parent、springside-test、springside-...

    jldap4.3.jar下载

    **jldap4.3.jar简介** `jldap4.3.jar` 是一个针对Java开发的库,提供了丰富的API,使得开发者能够方便地在Java应用中集成和操作LDAP服务。这个库由OpenLDAP项目提供,OpenLDAP是一个开源的LDAP解决方案,旨在提供...

    Android 反编译工具 dex2jar

    ### 一、dex2jar简介 `dex2jar`是由Pang Wu开发的一款开源工具,主要用于将Android应用的`.dex`文件(包含了应用程序的字节码)转换为Java类库的`.jar`格式。这个转换过程使得开发者能够利用Java反编译工具,如JD-...

    jnative.jar

    一、JNative.jar简介 JNative.jar是Java调用本地DLL(动态链接库)的一个实现,它提供了一种安全且便捷的方式来调用Win32 API。通过JNI(Java Native Interface),JNative.jar实现了Java代码与C/C++代码的交互,...

    解决rt.jar受限问题

    #### rt.jar简介 rt.jar是Java运行时环境(JRE)的核心类库之一,包含了Java标准库中的大多数类和接口。它是Java开发不可或缺的一部分,在编译和运行Java程序时扮演着至关重要的角色。 #### 问题背景 当我们在...

    xercesImpl.jar

    一、XercesImpl.jar简介 XercesImpl.jar包含的是Apache Xerces2 Java XML解析器的实现。Xerces这个名字源于古波斯语,意为“黄金”,象征其在XML解析领域的卓越地位。Xerces提供了完整的XML 1.0和XML 1.1规范的实现...

    zxing-3.3.2.jar

    zxing-3.3.2.jar 简介:二维码工具 版本:3.3.2 更新日期:2017.12.12

    com.lowagie.text.2.1.7.jar百度网盘下载

    #### 一、com.lowagie.text.2.1.7.jar简介 `com.lowagie.text.2.1.7.jar`是Lowagie库的一个版本,该库主要用于Java应用程序中的PDF文档生成。Lowagie是一个开源项目,它提供了丰富的API来创建和操作PDF文件,而无需...

    activemq-web-5.5.1-sources.jar

    标签:activemq-web-5.5.1-sources.jar,activemq,web,5.5.1,sources,jar包下载,依赖包

    activemq-jaas-5.5.1-javadoc.jar

    标签:activemq-jaas-5.5.1-javadoc.jar,activemq,jaas,5.5.1,javadoc,jar包下载,依赖包

    activemq-pool-5.9.1-javadoc.jar

    标签:activemq-pool-5.9.1-javadoc.jar,activemq,pool,5.9.1,javadoc,jar包下载,依赖包

    ojdbc7.jar官网下载

    **ojdbc7.jar简介** ojdbc7.jar是Oracle公司提供的Java Database Connectivity (JDBC) 驱动程序,用于Java应用程序连接到Oracle数据库。这个驱动程序符合JDBC 4.1规范,与Java SE 7兼容。ojdbc7.jar包含了Oracle ...

Global site tag (gtag.js) - Google Analytics