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

java打包生成jar和exe全过程

阅读更多
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对应)

  <property name="mappingLocations">

  <list>

  <value>manager/entity/MyFile.hbm.xml</value>

  <value>manager/entity/FileType.hbm.xml</value>

  ...

  </list>

  </property>

  第四步:使用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一定要按第二步那样设置.

  生成的JAR文件目录如下:

  第五步:生成运行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打包成exe文件的全过程

    这个过程涉及到Java Swing界面应用的打包和利用Exe4j工具将其转换为.exe文件。下面我们将详细讲解这个全过程。 首先,Java Swing是Java平台上的一个图形用户界面(GUI)工具包,它提供了丰富的组件和布局管理器,...

    java全套打包工具,包括打包成jar,环境配置,打包成exe,内有教程

    总的来说,Java打包工具有多种选择,如j2ewiz、fatjar和exe4j,它们分别解决了不同场景下的需求,帮助开发者将Java应用打包成易于分发和运行的形式。了解和熟练使用这些工具,是提升Java项目交付效率和用户体验的...

    java打包jar

    Java打包JAR(Java Archive)是一项常见的...总之,Java打包JAR是开发过程中的基本技能,通过Eclipse或其他工具,我们可以轻松地创建、管理和分发Java应用程序。理解这个过程对于任何Java开发者来说都是至关重要的。

    java源文件打包成exe教程and工具

    这个文档可能涵盖了从编写Java代码到使用fatjar和exe4j进行打包的全过程,对于初学者来说是非常有价值的参考资料。在阅读和实践这个教程时,确保理解每个步骤的目的和作用,以便更好地掌握这个过程。

    Java打包成jar文件,以及将jar文件导出为exe文件方法汇总.docx

    Java 打包成 jar 文件是将源代码编译后的字节码(.class文件)和其他资源文件整合到一起,便于分发和执行。Eclipse 和 MyEclipse 都提供了方便的图形界面来实现这个过程。 1. 使用 Eclipse 打包 jar 文件: - 右键...

    FatJAR将java项目生成exe可执行文件全过程

    ### 使用FatJAR生成JAR包 1. 右键点击工程,选择`Build Fat JAR`。 2. 指定`MainClass`,即程序的入口点。 3. 在`Classpath`中添加项目依赖的JAR包路径。例如,`./lib/org.eclipse.core.runtime_3.3.100.v20070530....

    java制作exe全过程

    以下是对"java制作exe全过程"的详细解释: 首先,我们需要理解Java程序的运行方式。Java程序通常以.class文件的形式存在,这些文件由Java虚拟机(JVM)执行。然而,Windows操作系统直接运行的是.exe文件,这是用C++...

    将jar包打包成一个exe执行文件

    本篇将详细介绍如何将一个jar包转换为exe执行文件,特别关注使用exe4j工具进行打包的过程。 **1. exe4j简介** exe4j是一款专门用于将Java应用程序打包成Windows可执行文件(.exe)的工具。它支持GUI和控制台应用,...

    Eclipse_java文件打包成exe文件详解java代码打包

    Java程序通常运行在Java虚拟机(JVM)上,但为了让非Java用户也能方便...以上就是使用Eclipse和第三方工具将Java程序打包成EXE文件的全过程。通过这种方式,你不仅可以简化用户的使用步骤,还能扩大你的程序受众范围。

    利用exe4j打包java项目

    以上步骤详细地介绍了如何使用exe4j将Java项目打包为exe文件的全过程,无论是通过命令行还是IDE,每一步都至关重要,确保最终生成的可执行文件能够准确无误地运行。希望这份指南能帮助你在实际项目中顺利完成这一...

    exe4j_Java打包工具操作步骤

    ### exe4j Java打包工具操作步骤详解 #### 一、简介 `exe4j`是一款功能强大的Java程序打包工具,能够将Java应用程序及其运行时环境(JRE)封装成一个可执行文件(`.exe`),使得Java应用在没有安装JRE的Windows系统...

    打包java程序为exe文件

    在使用exe4j的过程中,首先需要下载并安装exe4j软件,然后打开它并选择要打包的Java项目。接着,配置程序的入口点,通常是主类的全限定名。此外,还可以设置JVM参数,如内存大小、类路径等。最后,选择输出文件的...

    把JAVA程序打包成EXE文件的软件

    这样的软件允许开发者将Java应用打包成Windows平台下可以直接双击运行的exe格式,使得分发和使用变得更加便捷。 首先,我们要理解Java程序的本质。Java是一种跨平台的编程语言,其运行依赖于Java虚拟机(JVM)。这...

    java用exe4j和jsmooth打包成exe文图说明

    #### 一、Java打包成JAR文件 在将Java程序打包成EXE文件之前,首先需要将程序打包成JAR文件。这一步是基础,也是后续转换为EXE文件的前提。 ##### 方法一:使用Eclipse导出JAR文件 1. **打开Eclipse**:启动...

    把java文件做成exe

    2. **JAR文件**:Java源代码编译后会生成.class文件,这些文件可以被打包成JAR(Java Archive)文件,便于分发和执行。 3. **主类**:在JAR文件中,有一个主类通常包含程序的入口点,即`public static void main...

    java用到的jar包集合全集

    Java开发过程中,jar(Java Archive)包是必不可少的组件,它们包含了编译好的类文件、资源文件以及元数据,使得开发者能够将多个类文件打包在一起,方便分发和使用。"java用到的jar包集合全集"这个压缩包很可能包含...

Global site tag (gtag.js) - Google Analytics