Java程序完成以后,对于Windows操作系统,习惯总是想双击某个exe文件就可以直接运行程序,现我将一步一步的实现该过程.最终结果是:不用安装JRE环境,不用安装数据库,直接双击一个exe文件,就可以运行程序
 
 

下面介绍过程:

第一步:完成Java GUI程序

在Eclipse下,程序能够正常运行.

第二步:准备清单文件(MANIFEST.MF)

方法1:直接拷贝其它能运行的JAR文件中的MANIFEST.MF进行修改
方法2:利用IDE工具,如Eclipse在生成JAR文件时自动生成
MANIFEST.MF内容如下:

复制代码代码如下:
Manifest-Version: 1.0
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.

注意:

1.如果Java应用程序用到了一些Eclipse包,那么就必须将这些包也复制到程序运行目录,设置到Class-Path,否则程序将无法运行.引用了一些外部组件也需要如此设置,如hibernate,spring,derby.
2. 除了入口类的包名和类名之外,其他设置项都不分大小写,比如:Class-Path写成class-path或CLASS-PATH也可以,swt.jar写成SWT.JAR也行。
3.类名后不要加class扩展名
4.每一行的':'后都有一个空格,如Class-Path:<空格>./lib/spring.jar
5.Class-Path中.引入的JAR文件每行不得超过19个,否则会报错.但在让人意外的是每行只有前9个有效,故将所有同类型的JAR 文件做成一个JAR文件.如我这里的spring.jar,hibernate.jar,derby.jar都是同类JAR文件的组合.

第三步:修改spring配置文件

在spring的 'sessionFactory' bean的配置中则要这样写(与程序中ClassPathXmlApplicationContext对应)

复制代码代码如下:

manager/entity/MyFile.hbm.xml
manager/entity/FileType.hbm.xml
...

第四步:使用Eclipse生成JAR文件

1.右键单击项目名,在弹出菜单中选择“Export”。在弹出的如下图所示的对话框中,选择“JAR文件”,单击“Next”
2.将右边不需要的文件都取消勾选。在“选择导出目标(Select the export destination)”项文本框中设置JAR包的输出路径和包名(可以任意取名)为“D:\manager\manager.jar”。接受其他的默 认设置不变,单击“Next”。
附注:左边虽然选择了src目录,但源文件并不会导出到包中,除非勾选了“导出Java源代码文件和资源(Export java source files and resources)”项。
3.接受默认设置不变,单击“Next”
4.这一步较关键。如下图所示,选择“从工作空间中使用现有清单”项,将创建的清单文件输入,也可以通过旁边的“浏览”按钮来选择清单文件。输入清单文件后,单击“Finish”,Eclipse开始将项目打包。
附:这里也可以选择Generate the manifest file.但生成的清单文件MAINFEST.MF需要修改.
注意:清单文件MAINFEST.MF一定要按第二步那样设置.

第五步:生成运行manager.jar的批处理文件manager.bat(该步可以不要)

在manager目录下创建一个批处理程序manager.bat(名字任取,扩展名必须是bat),其内容仅一句语句,如下:
javaw -jar manager.jar

说明:

1.javaw对应c:\jdk\jre\bin\javaw.exe文件,如果windows提示命令未发现,则需要将c:\jdk\jre\bin路径加入到windows环境变量path中。
2.在运行程序的时候有一个讨厌的黑色命令行窗口,要去掉它,可以将run.bat内容更改如下:“start javaw -jar manager.jar”,start是指调用了windows的“运行”命令。
3.在后边加一个pause就可以让你看到具体哪里出错了,如:

复制代码代码如下:
start javaw -jar manager.jar
pause

双击manager.bat,就可以运行该JAR文件了.

第六步:让电脑不必安装JRE环境,也能运行.

通常运行Java程序有个前提条件:用户电脑必须先安装JRE环境。虽然安装JRE环境非常简单,但毕竟多了一步,算是有一点点的瑕疵。这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下:
(1)将原JDK中的“jre”目录复制到“D:\manager\java”目录下(java也可换成其他名称)。
(2)将JDK和JRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。
(3)修改批处理文件manager.bat中的命令为“start java\jre\bin\javaw -jar manager.jar”,仅仅是在javaw前加上了一个相对应路径。
双击manager.bat即可在不安装JRE环境的电脑运行此Java应用程序。

第七步:抛弃批处理文件(*.bat),生成exe文件

用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。
我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm
下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下所示:

复制代码代码如下:
JavaLauncher.zip目录结构
source        目录包含了JavaLauncher的源程序,是用C语言写的
changes.txt   是新版的修改说明
launch.exe    是主程序
launcher.cfg  是配置文件
readme.txt    是一些说明和示例

我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。launcher.cfg是一个仅三行内容的文本文件,将它修改如下:
.\java\jre\bin\javaw.exe
-jar manager.jar
第一行设置指向JAR包managger.jar的目录,由于launch.exe和myswt.jar同在一个目录,所以用“.”即当前目录。
第二行设置指向jre\bin\javaw.exe的路径。在上面已将jre目录复制到了java子目录中
配置好launcher.cfg后,双击launch.exe即可运行java应用程序。
如果仔佃研究eclipse的启动方式,发现eclipse和JavaLauncher的原理一样:eclipse.exe相当于 launch.exe,startup.jar相当于manager.jar。只不过eclipse.exe不象launch.exe要具有通用性,所以 它没有*.cfg这样的配置文件,而是将启动信息固化在eclipse.exe中。

第八步:美化图标

launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource Hacker.

第九步:最后的打包

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

java打包成可执行的jar或者exe的详细步骤的更多相关文章

  1. 如何将maven项目打包成可执行的jar

    如何将maven项目打包成可执行的jar 分类: maven2010-12-17 10:18 10411人阅读 评论(2) 收藏 举报 jarmavenassemblyjava 方法一:将项目及所依赖 ...

  2. 将Java应用程序打包成可执行的Jar包

    可以将多个class文件打包为jar包,在指定程序入口点情况下,可以用 java –jar jar包名称 的方式调用jar包内主类的main函数. 程序源代码如下: //Math.java publi ...

  3. maven项目打包成可执行的jar

    编写功能类: package com.hpay.FileToZkUtil; import java.io.File; import java.io.FileInputStream; import ja ...

  4. 在IDEA中如何将Spring boot项目打包成可执行的jar包并发布到linux服务

    这两年微服务很流行,这里简单介绍一下如何将自己使用idea写的微服务打包成一个可执行的jar包,并发布到linux服务器的步骤.因为spring boot有内置的tomcat所以一般使用内置的tomc ...

  5. SpringBoot打包成可执行的Jar文件

    需要时SpringBoot项目 通过创建可以在生产环境中运行的完全独立的可执行jar文件来结束示例.可执行jar(有时称为"胖jar")是包含您的已编译类以及代码需要运行的所有ja ...

  6. 构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)

    1.构建SpringBoot项目 大致流程 1.新建工程 2.选择环境配置.jdk版本 3.选择 依赖(可省略.后续要手动在pom文件写) 4.项目名 1.1 图解建立过程 1.2 项目结构 友情提示 ...

  7. 将SeqReader打包成可执行的jar包

    SeqReader是我定义的一个读取SequenceFile文件,并将部分(key,value)打印到控制台窗口的类,其完整代码如下: /** * Created with IntelliJ IDEA ...

  8. hadoop-maven项目打包成可执行的jar

    环境: cdh5.1.0 jdk1.7 <build> <plugins> <!--指定JDK为1.7 --> <plugin> <groupId ...

  9. Maven项目打包成可执行Jar文件

    在使用Maven完成项目以后,如果需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁 ...

随机推荐

  1. 7、源与值(Source/Values)

    学习目录:树莓派学习之路-GPIO Zero 官网地址:https://gpiozero.readthedocs.io/en/stable/source_values.html 环境:UbuntuMe ...

  2. 深入浅出Oracle:DBA入门、进阶与诊断案例 PDF 下载

    网盘地址: 链接:https://pan.baidu.com/s/1tMFoNSUW7ICKOtmSQ5ZazA 提取码:dbnc

  3. C语言:输入一个数,输出比这个数小的所有素数,并求出个数。

    //C语言:输入一个数,输出比这个数小的所有素数,并求出个数. #include<conio.h> #include<stdio.h> #include<stdlib.h ...

  4. 创建Ajax兼容

    var request = new XMLHttpRequest(); IE7以下: var request = new ActiveXObject("Microsoft.XMLHTTP&q ...

  5. Java Https双向验证

    CA: Certificate Authority,证书颁发机构 CA证书:证书颁发机构颁发的数字证书 参考资料 CA证书和TLS介绍 HTTPS原理和CA证书申请(满满的干货) 单向 / 双向认证 ...

  6. 各大厂商发力5G新机,未来全球手机市场或将呈现新格局

    随着5G商用将正式于今年开启落地,运营商和手机厂商都在为新一代网络制式积极做好准备.对于运营商来说,它们在不断增加5G基站的建设,让5G信号覆盖更广泛的范围.而对于手机厂商来说,它们在努力推出旗下的5 ...

  7. redhat 7.6 流量监控命令、软件(3)nethogs 监控进程实时流量

    1.解压nethogs tar -zxvpf nethogs_0.8.5.orig.tar.gz 2.直接make,这里报错,提示pcap.h,安装libpcap就可以了 3.如果已经安装,还是报错, ...

  8. 自动重启 supervisor

    在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL+C终止程序,然后再重新启动,即使是修改一点小小的参数,也总是要不断地重复这几个很烦人的操作.有没有办法做到当文件修改之 ...

  9. cmake学习资料收集

    CMake 学习笔记 : https://www.jianshu.com/p/c417e4ab8b30

  10. TortoiseGit 安装与配置

    2. TortoiseGit安装与配置 标签: TortoiseGit安装配置Windows 2014-12-01 15:25 135739人阅读 评论(10) 收藏 举报 .embody{ padd ...