launch4j 与 inno setup 打包java桌面应用程序

本文介绍了如何将Java桌面应用程序打包成类似二进制程序的过程。首先,通过Eclipse将项目打包为jar,注意资源文件的处理。然后,利用launch4j将jar转换为exe文件,配置基本参数、JRE路径和启动图标。最后,通过Inno Setup创建安装程序,设置解压文件、快捷方式、启动后运行程序以及清理注册表项。整个过程确保了Java应用能在Windows环境下顺利运行和卸载。

      最近在做一个对java桌面应用程序项目,需要打包成同普通的二进制应用程序一样。

      [1]使用eclipse 将整个项目打包成可运行的jar文件,在应用过程中发现资源文件如果不是通过inputstream来读取的话,是无法访问到的,在做项目时没有考虑到这点,所以最后只好把资源拷出来,只对类文件进行打包。

 

          目录结构:

           |-soft

                |- soft.jar

                |-native dll

                |-jre

                |-resources

                    |-images

 

           原来的项目结构是

           |-src

                |-main

                     |-swingExe.java    //main主文件

                     |-panel

                     |-player

                 |-resources

                     |-images

 

           可见打包后的文件目录还是跟外界的保持一致的调用关系,另外这里提一点关于资源文件路径的问题,由于我是使用了 

    String rootpath = ClassLoader.getSystemResource("")来取得项目根目录的绝对路径的,在发布项目后,我发现这样

    取出来的路径上有的空格会被转换成为%20这样的编码,在读取时:File file = new File(rootpath+resourcespath)时,

   这个file是不存在的,最后只好再替换回来,不是太了解这里面的沟沟,有时间要好好的去看一下怎么回事。

 

 

     [2]使用launch4j把JAR文件转成exe文件。这里没什么好说的,就是填一下路径和文件名称,普通需要用到的只有三个tabs:

         basic , jre,splash;

 

     basic里面需要填写的是转成的exe保存路径,jar的路径以及icon

 

     jre,由于我是直接把jre拷到项目文件夹下了,所以只要填入./jre就行了,使用相对路径;启动文件会在当前目录查找jre,如果

       找不到,就会去父目录,最后才去查找注册表,看看是否有jre;如果都没有,就会打开下载网页,这个网页路径在basic里

    面有得填。

  splash,启动图片,就像eclipse这样的等待界面,填一个就好了`也可以不填的

 

    最后点那个齿轮就可以生成一个二进制的启动程序。

 

     [3] 使用inno setup打包安装程序,如果只是简单的安装程序,那直接使用它的向导就行了,这个我也不是太在行,看例子吧

 

   

 

 

 

    注:快捷方式那里要注意的就是一个workdir属性,因为有好多软件都是需要一个启始位置设定才可以正常运行的,这个属性就是了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值