• Javaweb程序打包或exe执行文件


    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.2jreinjavaw -jar NetDuke.jar”,仅仅是在javaw前加上了一个相对应路径。

          双击run.bat即可在不安装JRE环境的电脑运行此Java应用程序。

    3.更进一步的完善

            1、抛弃批处理文件(*.bat)

          用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。

          我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是:http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm

             下载下来的文件是一个名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.2jreinjavaw.exe

             -jar NetDuke.jar

             第一行设置指向JAR包NetDuke.jar的目录,由于launch.exe和NetDuke.jar同在一个目录,所以用“.”即当前目录。

          第二行设置指向jreinjavaw.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,它有中文版,下载网址是:

          http://www.users.on.net/johnson/resourcehacker/

             用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类库也要大量的砍伐。

  • 相关阅读:
    ubuntu下文件安装与卸载
    webkit中的JavaScriptCore部分
    ubuntu 显示文件夹中的隐藏文件
    C语言中的fscanf函数
    test
    Use SandCastle to generate help document automatically.
    XElement Getting OuterXML and InnerXML
    XUACompatible meta 用法
    Adobe Dreamweaver CS5.5 中文版 下载 注册码
    The Difference Between jQuery’s .bind(), .live(), and .delegate()
  • 原文地址:https://www.cnblogs.com/haw2106/p/7660435.html
Copyright © 2020-2023  润新知