`

无需JRE运行java的方法

 
阅读更多

开始的想法很简单。就是想自己编了个程序之后怎么拿到妹子的机器上去炫耀。

妹子是电脑盲,她有没有jre是个问题。所以能不能把java搞成windows的执行程序呢?于是baidu,google。

找到篇博文。直接转了。

http://hi.baidu.com/xc_jetguo/blog/item/b1cb502266a1f649935807fa.html

 

可以把普通的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框架来管理内部组件。

 

PS:很有可能这也转别人的。我不知道。

分享到:
评论

相关推荐

    jre6 java运行环境免安装版

    5. **直接运行**: 一旦环境变量配置完成,用户可以直接通过命令行或启动脚本来运行Java应用程序,无需额外安装步骤。这对于开发者进行测试、演示或在没有管理员权限的环境中部署Java应用特别有用。 6. **安全性与...

    JRE--Java程序,Java语言编写的软件运行环境

    Java的运行环境对于开发者而言至关重要,因为这意味着他们的程序能够在不同的平台上运行,而无需为每个平台重新编译或修改代码。这种跨平台性是Java成为企业级应用开发首选语言的重要原因。同时,JVM的高效内存管理...

    Java Runtime Environment JRE 1.4.2

    用户可以通过这个版本安装和运行Java程序,而无需额外下载完整的JDK。 总之,Java Runtime Environment JRE 1.4.2是Java平台历史上的一个重要版本,它的性能优化、安全增强以及API的丰富性,都为开发者提供了更强大...

    JRE-Java运行环境

    总之,JRE8.0.202是Java 8的一个关键组件,特别适合在64位Windows环境中运行Java应用程序。安装并正确配置JRE,可以确保你能够运行基于Java的各种软件,无论是简单的网页插件还是复杂的服务器应用。

    java 打包成安装包无需依赖JRE轻松搞定

    我们开发java程序运行的时候都需要依赖jre才能运行起来,但是用户的电脑上并没有安装jdk或jre的java运行环境。不可能让客户去安装了应用程序还要需安装java开发环境吧。下面是我将jar包打包成setup安装文件一些的...

    jre Java环境 jre-8u251-windows-x64 最新版

    JRE-8u251是针对Windows 64位操作系统的一个特定版本,确保在64位系统上流畅地运行Java应用。 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)开发。它的设计目标...

    java,jdk1.8,jre1.8

    用户只需安装JRE,即可在计算机上运行Java程序,而无需关心底层实现细节。 在实际开发中,JDK主要用于编写和测试Java代码,而JRE则是在生产环境中运行已编译的Java应用。对于开发者而言,安装JDK 1.8.0_181可以让...

    jre,java学习必备环境

    标题“jre,java学习必备环境”明确指出,JRE对于任何想要学习和运行Java程序的人来说都是不可或缺的。 JRE包含了以下几个主要组件: 1. **Java虚拟机(JVM,Java Virtual Machine)**:JVM是Java的核心,它负责...

    Java 8 版本371 Windows 64位运行环境(JRE)

    在Windows 64位操作系统上安装此JRE(Java Runtime Environment)是运行基于Java的应用程序所必需的。 Java 8的重要特性包括: 1. **Lambda表达式**:这是Java 8最显著的特性之一,它引入了一种新的语法结构,允许...

    迷你JRE用于打包运行在没有java环境的计算机上

    JRE使得用户可以在任何支持Java的平台上运行Java程序,而无需关心其底层操作系统。 "迷你"JRE则是在这个基础上进行优化,去除了非必要的组件,只保留了执行基本Java应用程序所必需的部分。这样做的好处是降低了资源...

    java客户端以及jre瘦身

    通过上述方法,开发者可以在确保程序正常运行的同时,有效地降低Java客户端和JRE的体积,提高用户的下载和运行体验。在进行JRE瘦身时,需要谨慎处理,确保所移除的组件不会影响程序的功能,并且要注意版权问题,避免...

    jre 8u211 32位运行环境

    Java运行环境(JRE,Java Runtime Environment)是执行Java应用程序所必需的基础软件,它提供了运行Java字节码的环境。本资源是针对32位操作系统设计的JRE 8u211版本,该版本发布于2019年4月16日,是一个重要的更新...

    java运行环境jre-6u17-windows-i586-s

    下载并安装像"jre-6u17-windows-i586-s.exe"这样的JRE安装文件,可以确保在Windows 32位系统上运行Java程序。同时,随着技术的发展,持续关注并升级JRE版本也是保持程序安全和高效运行的重要实践。

    jre1.8.0_91.zip

    Java运行环境(JRE,全称为Java Runtime Environment)是Java技术的核心组成部分,它为开发者提供了运行Java应用程序所需的所有组件和库。由Sun Microsystems(后被甲骨文公司Oracle收购)开发,JRE使得用户能够在...

    java jdk jre8

    JRE(Java Runtime Environment)则是运行Java应用程序所必需的环境。它包含了JVM、Java核心类库以及其他支持文件,但不包含开发工具。当用户想要运行一个基于Java的应用程序时,只需在计算机上安装JRE即可,无需...

    exe调用java 脱离jre

    在这种情况下,JNI被用来在.exe文件中嵌入和执行Java代码,这样就无需JRE的支持。 具体实现这一目标的过程通常包括以下几个步骤: 1. **编写Java代码**:首先,你需要编写包含核心业务逻辑的Java代码。 2. **JNI...

    Java Portable 可以在U盘上运行的JRE

    Java Portable 是一个特别设计的Java运行环境,它允许用户在没有安装Java Runtime Environment (JRE)的情况下,在任何可移动设备,如U盘上运行Java应用程序。这个特性使得Java程序的便携性和灵活性大大提高,不再...

    Java jre文件。zip

    4. **Java插件和Web启动器**:JRE还包括用于在Web浏览器中运行Java小程序(Applet)的Java插件,以及用于独立启动Java应用程序的Web启动器(Java Web Start),这些工具使得Java应用可以在网络环境中无缝运行。...

    JRE6.exe java

    总的来说,JRE6作为Java运行环境,是运行Java应用程序的基础,它包括了执行Java程序所需的一切组件,如JVM、核心类库和支持文件。尽管它不包含开发工具,但对于运行Java应用程序而言,JRE6是不可或缺的。

Global site tag (gtag.js) - Google Analytics