Java应用程序项目的打包与发行
  
这里主要是讲解一下怎样将 Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了。NetDuke的EXE
程序包了是使用这种方案制作的。在操作步骤上还是比较简单的,而且通用性强。 
1.程序打包 
        首先将程序打成Jar包,打包命令:jar cf 包文件名.jar *.class。接下来编译包中的清单文件MANIFEST.MF 。 
        Manifest-Version - 指定清单文件的版本号 
        Main-Class - 指定程序运行的入口类。注意:类名后不要加class扩展名 
2.让用户电脑不必安装JRE环境 
        通常运行Java程序有个前提条件:用户电脑必须先安装JRE环境。虽然安装JRE环境非常简单,但毕竟多了一步,算
是有一点点的瑕疵。这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下: 
     (1)将原JDK中的“jre”目录复制到“D:\项目文件夹\java1.4.2”目录下(java1.4.2也可换成其他名称)。 
     (2)将JDK和JRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。 
     (3)修改批处理文件run.bat中的命令为“start java1.4.2\jre\bin\javaw -jar NetDuke.jar”,仅仅是在javaw前
加上了一个相对应路径。 
      双击run.bat即可在不安装JRE环境的电脑运行此Java应用程序。 
3.更进一步的完善 
        1、抛弃批处理文件(*.bat) 
      用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响
,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。 
      我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是:
[url]http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm[/url] 
         下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下: 
         1.source目录包含了JavaLauncher的源程序,是用C语言写的 
      2.changes.txt是新版的修改说明 
      3. launch.exe是主程序 
      4. launcher.cfg是配置文件 
      5.readme.txt是一些说明和示例 
      我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。launcher.cfg是一个仅
三行内容的文本文件,将它修改如下: 
         . 
         .\java1.4.2\jre\bin\javaw.exe 
         -jar NetDuke.jar 
         第一行设置指向JAR包NetDuke.jar的目录,由于launch.exe和NetDuke.jar同在一个目录,所以用“.”即当前目录
。 
      第二行设置指向jre\bin\javaw.exe的路径。要先将jre目录复制到了java1.4.2子目录中 
配置好launcher.cfg后,双击launch.exe即可运行java应用程序。 
      如果仔佃研究eclipse的启动方式,发现eclipse和JavaLauncher的原理一样:eclipse.exe相当于launch.exe,
startup.jar相当于NetDuke.jar。只不过eclipse.exe不象launch.exe要具有通用性,所以它没有*.cfg这样的配置文件,而
是将启动信息固化在eclipse.exe中。 
4.美化图标 
         launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource 
Hacker,它有中文版,下载网址是: 
      [url]http://www.users.on.net/johnson/resourcehacker/[/url] 
         用Resource Hacker来替换launch.exe的图标的步骤如下: 
      (1)运行Resource Hacker。 
      (2)单击主菜单“文件→打开”,将launch.exe载入到程序中。 
      (3)选择左边的“图标→1→1030”,然后右键单击“1030”项,选择“替换资源…”。然后在弹出窗口中单击“打
开新图标文件”,选择一个满意的图标,然后单击“替换”按钮。 
       附注:图标文件可以是exe、dll、res、ico,该软件可以从exe、dll、res抽取出图标,本例选择的是Java的吉祥物
Duke.ico。 
      (4)选择“文件→另存为”,取名NetDuke.exe。 
       附注:按理说选择“保存”也是可以的,这时Resource Hacker会将老的launch.exe备份成launch_original.exe。但
也许是刷新上有问题,用“保存”方式有时launch.exe无法显示出新图标,但有时又可以。 
      (5)最后的目录如下所示,可见NetDuke.exe(也就是launch.exe改了个名称)的图标换成了Java的图标。双击
NetDuke.exe即可运行Java应用程序。 
       1.java1.4.2(文件夹) 
           2.launcher.cfg 
           3.NetDuke.exe 
           4.NetDuke.jar 
5.最后的打包 
         发送给用户之前,通常要用WinZip或WinRAR将所有的文件全部打成一个压缩包,然后用户得到这个压缩包后,将其
解压缩后即可运行程序,Eclipse软件就是这种方式。 
      另外大家要注意的几点: 
      (1)Java应用程序中用到的资源,它都必须要求写绝对路径,否则在其它机子上就会出现找不到资源。所以一般我们
在写程序时就要注意一定要用绝对路径,例如:Toolkit.getDefaultToolkit().getImage(getClass().getResource("文件名
")));像这种写法就一定没问题。当然如果要将资源传递给构造器的话就没办法了,例如:NetDuke frame = new NetDuke("
资源");这是我们就须要将资源拷贝到项目文件夹下一起打包。 
      (2)一般我们的Jre都有60多M,这样和程序一起打包就显得很臃肿。所以要将Jre适当地减肥,具体的作法这样不再
累赘,大家在一台还没装JRE的机上测试,将JRE中的一个个文件删除后程序是否可正常运行。还有一个就是rt.jar这个Java
类库也要大量的砍伐。 
       通过以上的操作即可得到使大家满意的一个exe程序包,而不用借助其它软件。希望对大家有帮助。

Java应用程序项目的打包与发行的更多相关文章

  1. Java应用程序项目的打包与发行(run.bat形式)

    参考: http://www.iteye.com/topic/57312 背景: 以前一直都是在eclipse上面创建应用程序,每次要要运行的时候都要打开eclipse, 直到有个同事叫我帮忙写一个应 ...

  2. java应用程序利用Exe4j打包exe文件

    1.      使用简介: 把java应用程序打成exe文件我们可以借助第三方软件exe4j来完成.Exe4j大家可以在网上下载,下载地址是: http://www.ej-technologies.c ...

  3. IDEA Java/Scala混合项目maven打包

    1.首先创建maven项目 2.创建成功后新建class,只有java的,没有scala的 3.修改pom.xml文件,引入scala <?xml version="1.0" ...

  4. 使用InstallAnywhere7.1制作Java exe程序安装包

    [转[使用InstallAnywhere7.1制作Java exe程序安装包 使用InstallAnywhere7.1制作Java exe程序安装包 对于已经完成的Java应用程序开发项目,从商业化角 ...

  5. 在 NetBeans IDE 6.0 中分析 Java 应用程序性能

    NetBeans IDE 6.0 包含一个强大的性能分析工具,可提供与应用程序运行时行为有关的重要信息.通过 NetBeans 性能分析工具,我们可以方便地在 IDE 中监控应用程序的线程状态.CPU ...

  6. Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.java

    Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...

  7. Java桌面程序打包成exe可执行文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  8. Java应用程序的打包和发布

    Java应用程序的打包和发布 简化Java应用程序的打包和发布 发布Java应用程序时Java提供了一系列打包和发布工具,可以显著的简化发布过程 该文章提供了打包Java code的几种方法,探讨Ja ...

  9. Java程序命令行打包Jar

    最近要跑爬虫程序,需要打包成jar发在linux服务器中运行.主要是第三方的lib包与配置文件,不进行打包,方便修改. 1.eclipse中src中源码编译后生成的源码在bin文件中,把里面源码单独拿 ...

随机推荐

  1. Laravel中的信息验证 和 语言包

    首先,谈下语言包的问题 1.安装语言包,通过composer进行安装 composer require "overtrue/laravel-lang:dev-master" 2.成 ...

  2. Intellij IDEA 设置代码着色

    从visual studio到Eclipse再到Intllij IDEA,其实每个编译器都有自己的风格,但是就美观上来说,个人觉得还是visual studio的代码着色比较美观,exlipse次之, ...

  3. IDEA删除项目

    IDEA没有eclipse的右键直接在磁盘delete整个项目的功能,使用IDEA删除项目需要按照如下步骤: step1:右击项目——>Remove Module 之后会出现提示框如下: 意思是 ...

  4. awk 取列后对数值进行判断取出大于1的数值

    [root@dataline-prod nginx]# tail -2 access.log 122.238.119.177 - - [26/Oct/2018:18:20:25 +0800] &quo ...

  5. poj----Maximum sum(poj 2479)

    Maximum sum Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30704   Accepted: 9408 Desc ...

  6. gVim中重新载入当前文件

    http://club.topsage.com/thread-2251455-1-1.html有些时候当前打开的文件可能被外部程序不知不觉改变了,这个时候我们就需要重新打开这个文件,或是重读/重载一个 ...

  7. Google Map 形状显示

    添加多段线 Polyline 构造函数带有一组用于指定线的 LatLng 坐标的 PolylineOptions,以及一组用于调整多段线视觉行为的样式. Polyline 对象在地图上绘制为一系列直线 ...

  8. OpenSSH的RSA/DSA密钥认证系统

    OpenSSH的RSA/DSA密钥认证系统,它可以代替OpenSSH缺省使用的标准安全密码认证系统. OpenSSH的RSA和DSA认证协议的基础是一对专门生成的密钥,分别叫做私用密钥和公用密钥. 使 ...

  9. RMAN - 发现I/O瓶颈

    大多数操作系统支持异步I/O. 备份到磁盘,异步I/O是一个优势,因为一个服务器进程同时可以执行多个I/O操作:同步I/O必须等上一个I/O操作完成才可以执行下一个I/O操作. 初始化参数disk_a ...

  10. 摘:VC开发数据库基础之ADO篇

    一.ADO简介ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE DB,COM ...