`
isiqi
  • 浏览: 16706458 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

可以把普通的Java程序做成真正的exe

阅读更多

可以把普通的Java程序做成真正的exe,也就是单一个exe就可以在没有安装JVM的机器上运行。这样的工具常见的有JET和gcj.前者是收费的,而且做出来的exe还是需要一堆dll。推荐使用gcj.他有windows和Linux版,直接下载zip包,不需要安装,里面有不少例子,一些build的批处理文件。从原理来说gcj自己实现了JVM规范,也就是你编写一个HelloWorld.java,其中的main方法为System.out.println("foo"); 当使用gcj把它做成exe(大约2M),运行这个exe时,会启动里面的一个小型jvm,在这上面跑HelloWorld。其实,把Java做成纯exe实在是吃力不讨好,有很多限制,文件又大。


我比较倾向另几种做法:
使用InstallAnywhere等工具,制作一个exe的安装包用户可以选择使用他机器上的JRE或是这个安装包内的JRE来运行程序这是很常见的一种做法,如JBuilder就是这么做的。这样的好处是不要求对方机器上装有JRE,而且你原来的程序不需要任何改动。 InstallAnywhere中一个压缩的JRE大概是8M。 . 制作成可执行的jar,也就是在META-INF的MANIFEST文件制定Main-Class 可以通过命令行java -jar jarfile.jar来执行,windows默认的把*.jar使用javaw -jar打开,所以有些机器上可以直接双击jar运行。

制作伪exe,其实和上一种做法是一样的,只不过做成exe,调用系统的java.exe来运行它,这样的工具有nativeJ,exe4j等
其实Java不像VB,Delphi只是一个语言,而是一个平台。 jar是最常用的部署单元,做成exe没什么意思。

一、exe4j。 说明:exe4j可以将Jar文件制作成exe文件,但需jre支持,也可将Jar文件放在外面。

软件性质:共享软件 下载地址:http://www.ej-technologies.com/products/exe4j/overview.html

二、JBuilder。 说明:新版本的JBuilder可以直接把工程制作成各系统的可执行文件,包括Windows系统。

软件性质:商业软件 下载地址:略。我是从eMule下载的。

三、NativeJ。 说明:与exe4j功能类似。

软件性质:共享软件 下载地址:http://www.dobysoft.com/products/nativej/download.html

四、Excelsior JET。 说明:可以直接将Java类文件制作成exe文件,除AWT和Swing及第三方图形接口外可不需jre支持(Java5.0不行)。
软件性质:共享软件 下载地址:http://excelsior-usa.com/home.html

五、jshrink。 说明:可将Jar文件打包进exe文件。同时具有混淆功能(这才是它的主要功能)。
软件性质:共享软件 下载地址:http://www.e-t.com/jshrink.html

六、InstallAnywhere。 说明:打包工具,对Java打包最好用。可打包成各操作系统运行包。包括Windows系统。
软件性质:商业软件。 下载地址:http://www.zerog.com/

七、InstallShieldX。 说明:与InstallAnywhere类似,但比InstallAnywhere功能强大。相对的,比较复杂,不易上手。
软件性质:商业软件。 下载地址:http://www.installshield.com/

【Java开源打包工具】 IzPack 是一个 Java 安装程序制作工具,能够制作一些简单的安装程序。制作出来的安装程序能在 Unix-like, MacOS X, Windows 等系统平台上运行。 使用JSmooth将做好的JAR包装成EXE。

launch4j是Java应用程序的Windows本地可执行文件 (.exe) 封装器。提供了本地弹出屏幕,应用程序图标,JRE搜索或使用绑定的JRE,启动失败反馈,传递命令行参数,ant脚本。

VAInstall是多平台的安装程序。你要包装起来的软件可以是可执行的 java class, Windows .EXE, Linux 可执行档,或者是 UNIX shell 档案。使用者可以选择四种安装的介面,graphic, xtra, text 或是 ansi。VAInstall 只需要很少的空间,他不会使用任何大的暂存档案,而且还可以很容易使用反安装功能。

Toolshed是一个既小又简单的JAVA安装制作工具。 AntInstaller通过XML文件定义UI,用Ant做后台。所以ANT所能做的事情AntInstaller同样也胜任。

FreeInstaller能够把JAVA程序打包成多种平台下的应用程序比如UNIX, LINUX 和 Windows NT. 这个工具利用 ANT 来制作在 Windows, MacOS X, Unix 平台上可执行的文件,比如 exe,zip,jar。ROXES ANT Tasks 基于 GPL 发布。

Mini Installer是用来构建JAVA安装程序一个简单类包。整个过程以脚本为驱动,最后结果是一个独特的JAR文件。用户可以通过双击来执行一个类似向导的安装过程。

Antigen (Ant Installer Generator)这个工具结合一个ANT构建脚本与一个GUI来把Java文件打包成可执行的Jar文件。它的主要目的是从Ant脚本创造一个强大的图形安装工具。

Packlet是一个针对Java的简单安装工具。一个Packlet类似于一个zip或tgz文件。它把应用程序打包成一个单一的可分解的压缩文件。Packlet文件能够在任何有安装Java 2运行环境的机器上运行。

Java Service Wrapper可以把Java应用程序安装成一个Windows NT服务或Unix Daemon.它同时还为应用程序提供日记功能,灵活的配置,可靠的运行性能,按需求重新启动,简化应用程序的安装等, Autojar帮助从不同的inputs(如:自身classes,外部文档等)制作最小的Jar文件。它从一个或多个给定的classes开始,依据字节码(bytecode)递归搜索相关联的classes,然后从input文档中提取这些Classes,并把它们拷贝到output中. 最终的文档将只包含真正需要的classes. 因而能够保持applet的大小并降低applet的加载时间或者让应用程序独立于第三方类库。

MJAR(Managed Jar Framework)Java软件分发/打包框架。它允许在相同VM内并行部署classloader分离的应用程序。MJAR使用Spring框架来管理内部组件。

分享到:
评论

相关推荐

    用Daemon实现windows系统下将jar包作为系统服务

    而`prunsrv.exe`是真正的服务守护进程,它会加载并执行我们的Java应用(jar包)。 1. **下载和解压Apache Commons Daemon** - 首先,你需要从Apache官方网站下载适用于Windows的Apache Commons Daemon的zip压缩包...

    c#学习笔记.txt

    可以把任何类型的数值给object类型. 7,string类型 string 类的实例表示 Unicode 字符串。尽管 string 是引用类型,但相等运算符(== 和 !=)被定义为比较 string 对象(而不是引用)的“值”(7.9.7 字符串相等...

    Editplus 3[1].0

    时会提示查找不到,所以也就无法进行替换了,这时可以把“(”、“)”使用任意字符标记替代,即半角句号:“.”。替换内容为 <script LANGUAGE="JavaScript1.1">\n<!--\nhtmlAdWH.'93163607', '728', '90'.;\n//-->\n...

    C#微软培训资料

    10.2 类 的 成 员 .113 10.3 构造函数和析构函数 .119 10.4 小 结 .122 第十一章 方 法 .124 11.1 方法的声明.124 11.2 方法中的参数.125 11.3 静态和非静态的方法.129 11.4 方法的重载.130 11.5 ...

    EditPlus 2整理信箱的工具

    时会提示查找不到,所以也就无法进行替换了,这时可以把“(”、“)”使用任意字符标记替代,即半角句号:“.”。替换内容为 <script LANGUAGE="JavaScript1.1">\n<!--\nhtmlAdWH.'93163607', '728', '90'.;\n//-->\n...

    editplus 代码编辑器html c++ jsp css

    时会提示查找不到,所以也就无法进行替换了,这时可以把“(”、“)”使用任意字符标记替代,即半角句号:“.”。替换内容为 \n 在替换对话框启用“正则表达式”选项,这时就可以完成替换了 补充:(lucida@DRL) 对...

    网管教程 从入门到精通软件篇.txt

    小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。  Bootcfg  bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。  含有下列参数的 bootcfg 命令仅在...

    JDK 1.5的泛型實現(Generics in JDK 1.5)

    閱讀本文之前,如果自覺基礎不夠,可以補充閱讀適才提到的《Java泛型技術之 發展》,那是一篇非常完整的文章,可助您完整認識泛型技術的來龍去脈。 Sun JDK的泛型發展歷史要從 1.3版說起。該版本配合 GJ,正式...

    SourceFormatXCrack.7z

    作者把关键代码做成一个DLL, 将DLL文件的16进制码加密后生成一个注册文件, 密匙产生函数的参数是主程序加壳后的HASH码和机器信息。 已注册用户验证注册码时,先验证有没有文件, 没有文件则自然受限制的...

    正则表达式30分钟入门教程

    这是个绿色软件,下载完后打开压缩包,直接运行RegexTester.exe就可以了。 下面是Regex Tester运行时的截图: 元字符 现在你已经知道几个很有用的元字符了,如\b,.,*,还有\d.正则表达式里还有更多的元字符,比如\s...

Global site tag (gtag.js) - Google Analytics