• 几种jar转exe方法的比较


    原摘自:https://blog.csdn.net/uikoo9/article/details/7458666
    几种jar转exe方法的比较

    【前言】

    今天一天就做这个了,无语了,焦头烂额啊,

    其实java的优势真不在应用程序上,

    想编软件的学学C什么的。

    【说明】

    几种方法都试过,

    但是好些都不成功,

    可能是我的操作有问题吧。

    【jsmooth】

    接触的第一款jarToexe软件,

    参考的这篇文章:

    http://hi.baidu.com/chenzhiyanczy/blog/item/070a0f04f9da6308738b6514.html

    感受:

    可以生成独立的exe文件,

    但是无法在没有jre的机器上运行,

    文中所说的捆绑jvm也没有实现。

    原理:

    琢磨着像,把jar打进exe,同时告诉电脑jvm在哪。

    【exe4j 】

    参考文章:

    http://www.blogjava.net/huliqing/archive/2008/04/18/193907.html

    感受:

    最后生成的是一个文件夹,其中有jre,jar,exe

    exe文件不能离开这个文件夹否则无法使用。

    原理:

    应该是告诉电脑jar在哪,jvm在哪。

    【Inno Setup】

    参考文章:

    同上。

    感受:

    就是把exe4j生成的文件夹做了一个安装包,

    然后通过这个安装包安装,

    感觉挺好玩,但是不现实,

    一个安装包中有jre,所以很大。

    【GreenJVMMake】

    参考文章:

    http://blog.csdn.net/cping1982/article/details/2892844

    感受:

    通过上面可以知道jar转成exe的大小和jre直接相关,

    所以想到了精简jre大小,

    自己琢磨了半天发现基本上有用的九个rt.jar,

    所以准备精简rt.jar,使用这个软件可以做到,

    做到之后结合exe4j会报错,

    该文给出的方案和exe4j + Inno Setup相似,

    但是到了这一步:

    没办法,我们制作一个完整调用pack类库的小程序,而后以此生成仅有依赖库的rt.jar,合并打包进自定义的rt.jar中,再次运行程序。OK,通过了。

    不知道pack类库是个什么,所以也没法进行下去。

    原理:

    精简jre,然后将jre和jar,以及可以告诉电脑jar和jvm在哪的一个exe放一起

    【Java应用定制工厂】

    参考文章:

    http://www.2cto.com/kf/201112/113906.html

    感受:

    比上面的GreenJVMMake好用很多,

    功能有:精简jre,将精简的jre和jar生成exe

    其中精简有两种模式,

    一是仅仅包含运行时用到的类,这种精简后jre很小;

    另一种是包含运行时用到的类和其依赖的所有类,这种精简后jre稍大,但是出错少。

    原理:

    将jre精简,然后将jre,jar放到一个文件夹,生成exe,告诉电脑jar和jvm在哪,

    exe也是不能脱离这个文件夹。

    【推荐】

    要是想将自己写的jar程序放到其他没有jre电脑上也可以用,

    推荐这种方式:Java应用定制工厂 + Inno Setup

  • 相关阅读:
    DbgPrint格式 输出
    string 类常用函数[转]
    pragma warning[转]
    连接符
    ubuntu ftp server
    关于dex

    Topology中各函数调用顺序
    C# 错误捕捉
    操作word,Excel,PPT
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/9060315.html
Copyright © 2020-2023  润新知