java代码变成jar 如何将java代码变成应用程序

Java程序打成Jar包全过程 Java程序完成以后 对于Windows操作系统 习惯总是想双击某个exe文件就可以直接运行程序 现我将一步一步的实现该过程 最终结果是:不用安装JRE环境 不用安装数据库 直接双击一个exe文件 就可以运行程序
下面我将以我最近写的一个程序作例子 进行该打包过程
该程序是使用了:Hibernate Spring Derby的Java GUI (JDK需要 版本 因该版本才有Derby) 我使用的是Eclipse进行开发
第一步:完成Java GUI程序
在Eclipse下 程序能够正常运行
第二步:准备清单文件(MANIFEST MF)
方法 :直接拷贝其它能运行的JAR文件中的MANIFEST MF进行修改
方法 :利用IDE工具 如Eclipse在生成JAR文件时自动生成
MANIFEST MF内容如下:
Manifest Version:
Main Class: manager ui MainFrame
Class Path: /lib/spring jar /lib/hibernate jar /lib/derby jar
SplashScreen Imager: manager/resources/images/splash jpg
说明:
Manifest Version - 指定清单文件的版本号
Main Class -指定程序运行的入口类 注意 类名后不要加class扩展名
Class Path -指定支持库的路径 指程序运行目录 即导出的JAR包所在目录 程序运行时依据Class Path项的设置路径来查找支持库 每一个支持库之间用空格隔开 在这里使用了hibernate spring derby
注意:
如果Java应用程序用到了一些Eclipse包 那么就必须将这些包也复制到程序运行目录 设置到Class Path 否则程序将无法运行 引用了一些外部组件也需要如此设置 如hibernate spring derby
除了入口类的包名和类名之外 其他设置项都不分大小写 比如 Class Path写成class path或CLASS PATH也可以 swt jar写成SWT JAR也行
类名后不要加class扩展名
每一行的 : 后都有一个空格 如Class Path:空格 /lib/spring jar
Class Path中 引入的JAR文件每行不得超过 个 否则会报错 但在让人意外的是每行只有前 个有效 故将所有同类型的JAR文件做成一个JAR文件 如我这里的spring jar hibernate jar derby jar都是同类JAR文件的组合
第三步:修改spring配置文件
在spring的 sessionFactory bean的配置中则要这样写(与程序中ClassPathXmlApplicationContext对应)
property name= mappingLocations
list
valuemanager/entity/MyFile hbm xml/value
valuemanager/entity/FileType hbm xml/value
/list
/property
第四步:使用Eclipse生成JAR文件
右键单击项目名 在弹出菜单中选择 Export 在弹出的如下图所示的对话框中 选择 JAR文件 单击 Next
将右边不需要的文件都取消勾选 在 选择导出目标(Select the export destination) 项文本框中设置JAR包的输出路径和包名(可以任意取名)为 D:\manager\manager jar 接受其他的默认设置不变 单击 Next
附注 左边虽然选择了src目录 但源文件并不会导出到包中 除非勾选了 导出Java源代码文件和资源(Export java source files and resources) 项
接受默认设置不变 单击 Next
这一步较关键 如下图所示 选择 从工作空间中使用现有清单 项 将创建的清单文件输入 也可以通过旁边的 浏览 按钮来选择清单文件 输入清单文件后 单击 Finish Eclipse开始将项目打包
附:这里也可以选择Generate the manifest file 但生成的清单文件MAINFEST MF需要修改
注意:清单文件MAINFEST MF一定要按第二步那样设置
生成的JAR文件目录如下:
第五步:生成运行manager jar的批处理文件manager bat(该步可以不要)
在manager目录下创建一个批处理程序manager bat(名字任取 扩展名必须是bat) 其内容仅一句语句 如下
javaw jar manager jar
说明
javaw对应c:\jdk\jre\bin\javaw exe文件 如果windows提示命令未发现 则需要将c:\jdk\jre\bin路径加入到windows环境变量path中

推荐阅读