`
isiqi
  • 浏览: 16649913 次
  • 性别: 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-jarjarfile.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
四、ExcelsiorJET。
说明:可以直接将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,MacOSX,Windows等系统平台上运行。

使用JSmooth将做好的JAR包装成EXE。

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

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

Toolshed是一个既小又简单的JAVA安装制作工具。

AntInstaller通过XML文件定义UI,用Ant做后台。所以ANT所能做的事情AntInstaller同样也胜任。

FreeInstaller能够把JAVA程序打包成多种平台下的应用程序比如UNIX,LINUX和WindowsNT.

这个工具利用ANT来制作在Windows,MacOSX,Unix平台上可执行的文件,比如exe,zip,jar。ROXESANTTasks基于GPL发布。

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

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

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

JavaServiceWrapper可以把Java应用程序安装成一个WindowsNT服务或UnixDaemon.它同时还为应用程序提供日记功能,灵活的配置,可靠的运行性能,按需求重新启动,简化应用程序的安装等,

Autojar帮助从不同的inputs(如:自身classes,外部文档等)制作最小的Jar文件。它从一个或多个给定的classes开始,依据字节码(bytecode)递归搜索相关联的classes,然后从input文档中提取这些Classes,并把它们拷贝到output中.最终的文档将只包含真正需要的classes.因而能够保持applet的大小并降低applet的加载时间或者让应用程序独立于第三方类库。

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

分享到:
评论

相关推荐

    将Java程序作成exe文件的几种方法

    ### 将Java程序做成exe文件的方法 在Java开发过程中,有时候我们需要将编写的Java应用程序封装成可以在Windows系统上直接运行的exe格式文件。这不仅能够提高应用程序的易用性,还可以减少用户安装JRE(Java运行环境...

    把java文件做成exe

    在IT行业中,将Java程序转换为可执行的Windows EXE文件是一种常见的需求,这使得非Java开发者也能方便地运行程序。这个过程涉及到Java的跨平台特性和特定的工具,如EXE4J。下面我们将详细讲解如何利用EXE4J将Java...

    如何把JAVA程序封装成EXE文件

    ### 如何将JAVA程序封装成EXE文件 在IT领域,特别是对于Java开发者而言,将Java应用程序封装成可独立运行的EXE文件是一项非常实用的技能。这不仅可以提高应用程序的可移植性和用户友好性,还能在一定程度上保护源...

    怎样将java程序打成exe文件运行在无java环境的机器上-图文详解

    将Java程序打包为可以在没有Java环境的机器上运行的exe文件,主要涉及以下几个步骤和知识点: 1. 理解Java程序部署的难题 在讨论如何打包之前,先要认识到Java程序部署时常见的问题。Java程序的运行需要Java运行...

    javalauncher可以把BAT文件变成EXE的文件

    要使用JavaLauncher将BAT文件打包成EXE,你需要按照以下步骤操作: 1. 下载`javalauncher_standard_3201.exe`,这是一个JavaLauncher的执行文件。 2. 将你的批处理文件(例如:mybatch.bat)和任何该脚本依赖的外部...

    JAVA包生成EXE程序。。

    `exe4j`就是这样一款工具,它允许Java开发者将他们的Java程序转换为Windows平台上的原生EXE文件。 `exe4j`是一款强大的Java到EXE转换器,它提供了直观的界面和丰富的配置选项。在描述中提到的`exe4j 6.0`版本中,...

    java打包成exe

    在将Java程序打包成.exe的过程中,你需要做以下几步: 1. **准备Java程序**:确保你的Java程序已经编译为.class文件,并且所有依赖的库都已包含在内。 2. **配置打包工具**:选择一个合适的打包工具,如Launch4j,...

    java jar打包成exe

    标题"java jar打包成exe"指的是这个过程:将Java程序打包成一个可以直接在Windows环境下运行的`.exe`文件。这样做的好处是提高了用户的便利性,因为他们无需知道或安装Java环境,只需双击`.exe`文件即可运行程序。 ...

    Java实现FTP批量大文件上传下载

    通过 Java 现有的可用的库来编写 FTP 客户端代码,并开发成 Applet 控件,做成基于 Web 的批量、大文件的上传下载控件。 一、概述 在项目实施过程中出现了一种基于 Web 的文件上传下载需求。在全省(或全国)各地...

    制作自己的java可运行程序(总结)

    Java程序通常由多个类组成,这些类被编译成.class文件,然后由Java虚拟机(JVM)执行。为了使一个Java程序能够独立运行,我们需要一个主类,这个类包含`public static void main(String[] args)`方法,这是Java程序...

    JAVA调用C/C++ DLL文件方法

    再把库文件拷贝到 JAVA 程序的路径下面,就可以用 JAVA 调用 C/C++所实现的功能了。 JNative、Jawin 和 Jacob 都是基于 JNI 技术的依赖 Windows 的实现,使得在 Windows 平台下使用 COM 和 DLL 的更加方便。它们...

    JAVA文件反编译工具.class查看

    在Java环境中,源代码被编译成字节码,这是一种平台无关的中间语言,存储在.jar(Java Archive)文件中。.jar文件通常包含多个类文件和其他资源,用于打包和分发Java应用程序或库。用户可以直接使用反编译工具查看....

    java代码生成应用软件工具

    Java代码生成应用软件工具是一种将Java程序转换为可独立运行的应用程序的解决方案。这使得开发者无需依赖Java开发环境(如Eclipse或IntelliJ IDEA)就能执行他们编写的Java程序。这种工具通常会将Java字节码(.class...

    Java程序设计1

    在Java程序设计中,我们通常会涉及以下几个关键知识点: 1. **Java虚拟机(JVM)**:Java程序的执行依赖于JVM,它是一个能够解释并执行Java字节码的软件。与C++编译器不同,Java编译器将源代码编译成字节码,而不是...

    Java程序设计课后练习答案

    - Java程序被编译成字节码(一种中间语言),而不是特定平台的机器码。 - 字节码在JVM中运行,而JVM为每个平台提供了一个解释器,该解释器可以将字节码转换为相应平台的机器码。 #### 3. Java语言特点 - **简单性...

    java翻译工具

    Java翻译工具是一款基于Java开发的实用程序,其主要功能是将Java源代码转换为C++源代码。这个工具对于那些需要在C++环境中复用Java代码或者理解Java代码底层实现的开发者来说,具有很高的价值。它能够帮助程序员跨越...

    java程序性能优化

    以上介绍了几种常见的Java程序性能优化技巧,包括避免在循环条件中使用复杂表达式、合理设置集合类的初始大小、在`finally`块中关闭资源、使用`System.arraycopy()`代替循环复制数组以及将简单的getter/setter方法...

    语言程序设计资料:Java语言程序设计.ppt

    3. **Java程序的建立、编译与运行**:这一部分将详细介绍如何创建Java源代码文件、使用编译器(javac)将源代码转换为字节码,以及如何使用解释器(Java虚拟机)执行程序。示例程序“HelloWorld”常用于演示基础的...

    Java语言程序设计.pdf

    JVM负责将Java字节码转换为机器码执行,从而实现了Java程序的跨平台能力。 3. Java的开发工具:JDK(Java Development Kit)是Java开发的基础工具包,其中包含了编译器(javac)、解释器(如JIT即时编译器)、文档...

Global site tag (gtag.js) - Google Analytics