java编译exe文件
Ⅰ 有什么工具可以将java源代码编译成windows里的.exe可执行文件呀, 急!!
几种java转exe的工具,进行一下比较,谈谈自己的看法:
1. 从www.towerj.com获得一个TowerJ编译器,该编译器可以将你的CLASS文件编译成EXE文件。
注:现在已经找不到,不提供了,被人家收购了。
2. 利用微软的SDK-Java 4.0所提供的jexegen.exe创建EXE文件,这个软件可以从微软的网站免费下载,地址如下:
http://www.microsoft.com/java/download/dl_sdk40.htm
jexegen的语法如下:
jexegen /OUT:exe_file_name
/MAIN:main_class_name main_class_file_name.class
[and other classes]
注:没有试过
3. Visual Cafe提供了一个能够创建EXE文件的本地编译器。你需要安装该光盘上提供的EXE组件。
注:没有试过
4. 使用InstallAnywhere创建安装盘。
注:很不错的工具。
但就是要>8M(带jre),还有一种是>1M的(不带jre)。
但是它可以编译成各种平台上可以使用的exe程序。
5. 使用IBM AlphaWorks提供的一个高性能Java编译器,该编译器可以从下面的地址获得:
http://www.alphaworks.ibm.com/tech/hpc
注:没有试过
6. JET是一个优秀的Java语言本地编译器。该编译器可以从这个网站获得一个测试版本:
http://www.excelsior-usa.com/jet.html
注:不喜欢。
编译好的程序还是jre的,听说正版的可以不能jre。安装好还要编译,我用了30分钟。
7. Instantiations公司的JOVE
http://www.instantiations.com/jove/...ejovesystem.htm
JOVE公司合并了以前的SuperCede,一个优秀的本地编译器,现在SuperCede已经不复存在了。
注:太烦了,老是出来一个对话框
用过,会出来一个对话框,表示这是jove公司的产品。
8. JToEXE
Bravo Zulu Consulting, Inc开发的一款本地编译器,本来可以从该公司的网页上免费下载的,不过目前在该公司的主页上找不到了。
公司主页:http://www.bravozulu.com/
下面这个ftp上曾经有过这个软件,不知道现在是不是还在:
ftp://race.dlut.e.cn/pub/java/tools/jet
注:很烦了,老是出来一个对话框,但是没有想到我找到了crack,在google上找到。
现在去掉了那个对话框后,我很喜欢这个工具,虽然它需要jre,但是文件只有100多K,很好哦。
9.Exe4j
很不错
10.jbuilder
这个工具不用多讲了,在jbuilder6.0以前的(包括6.0),是不能生成exe文件的,所以可以用如下的方法实现。这可以人家高手想出来的,我只是帮着宣传一下。
还有jbuilder7.0开始都可以生成exe文件。
这个是Borland不公开的使用技巧,能够通过JBuilder来制作exe文件来启动Java文件。
JBuilder并不支持本地编译机制。但是有一个隐藏的技巧可以让你从可执行文件来启动Java程序,可以出现或者不出现console窗口。想做到这些,需要JBuilder的bin目录下的这些文件:
JBuilder.exe
JBuilderW.exe (可选)
JBuilder.config
jdk.config
JavaLauncher.dll
“JBuilder.exe”是一个通用的可执行外壳文件,用以启动Java程序,”JBuilderW.exe“好像是javaw.exe一样,它把”JBuilder.exe”包装起来,但是运行时候不显示那个console的窗口。使用这些文件的关键是文件名。“JBuilder.exe”查找一个文件叫”JBuilder.config”的配置文件,里面包含了运行Java程序的必须信息。同样的”JBuilderW.exe”查找”JBuilder.exe”来启动不带Console窗口的Java程序。如果把JBuilder.exe重命名为”foo
.exe”,那”foo.exe”将去寻找”foo.config”配置文件,同样”JBuilderW.exe”被重命名为”fooW.exe”,它会去寻找”foo.exe”文件。
说到这里,聪明的读者应该猜到怎样利用JBuilder.exe来启动应用程序了。只要把JBuilder.exe,JBuilerW.exe,JBuilder.config改名成相应的文件名,在JBuilder.config里面指定主类和类路径,就能够通过执行JBuilder.exe(或者被改名后的exe文件)来启动Java应用程序了。下面是用本机为例。
Borland JBuilder 5被安装在E:\jbuilder5\目录下,在E:\jbuilder5\bin\下建立一个temp目录,然后把JBuilder.exe,JBuilder.config,JavaLauncher.dll,jdk.config四个文件拷贝到E:\jbuilder5\bin\temp\目录下,然后在这个目录下建立一个hello目录,在这个目录下生成一个hello.java文件,即E:\jbuilder5\bin\temp\hello\hello.java文件,
//hello.java/
package hello;
public class hello{
public static void main(String s[]){
System.out.println("Hello, Exe file!");
}
}
编译成class文件,然后打开Jbuilder.config文件,作相应的修改:
在JBuilder.config里面找到下面两行
# Start JBuilder using the its main class
mainclass com.borland.jbuilder.JBuilder
修改为
# Start JBuilder using the its main class
mainclass hello.hello
addpath E:/jbuilder5/bin/temp/
addpath命令是把目录加入类路径中,这个命令和其它config里面可以识别的命令可以在JBuilder/bin目录下的config_readme.txt里面找到详细说明。
然后将jdk.config里面的javapath修改成相对的路径,例如原来是
javapath ../jdk1.3/bin/java
修改成
javapath ../../jdk1.3/bin/java
最后
将JBuilder.exe,JBuilder.config修改成所需要的文件名,例如foo.exe和foo.config文件。
现在执行foo.exe文件
至此,通过修改JBuilder来使用exe文件启动自己的Java应用程序已经完成了。
但是好玩的地方并不在这个地方,下面的小技巧可能更有趣,将Jar文件打包进入exe文件!
假设利用上面的文件,生成hello.jar包,
jar cvf hello.jar hello\*.class
然后将jar包附加到JBuilder.exe后面去,
/b ..\JBuilder.exe+hello.jar foo.exe
在foo.config(JBuilder.config)文件里面把前面加入的类路径去掉,并加入下面的路径:
addpath E:/jbuilder5/bin/temp/foo.exe
然后执行,foo.exe
看到了么?一个含jar包的exe文件被执行了!
这个过程的大致原理是:exe文件的重要信息都在文件头部,所以把乱七八糟的东西放exe文件尾部是不要紧的;而jar/zip文件的重要信息是在文件尾部的,这样它们两不相干,能够容易的被执行。
请注意:读者如果使用这个功能,得自己承担可能带来的风险,因为Borland对这个功能不提供官方的支持!
Ⅱ 将Java程序作成exe文件的几种方法
是要将做好的Java应用程序移植到Windows上吗?
用exe4j或者jar2exe软件可以把可运行的jar文件转成exe。此时可以双击exe运行,但是运行的时候仍然依赖电脑中的JRE库。编译的时候可以指定JRE库(默认直接从环境变量中寻找JRE,当然也可以手动添加JRE路径)
如果需要让其他没有装JRE库的电脑能够运行,则需要把相关库打包带上。这里推荐用InnoSetup,很好用。
建议把JRE库复制到一个一个文件夹,把jar复制到同一个文件夹,然后用exe4j生成exe,生成的时候指定JRE目录为当前目录下的JRE,然后用InnoSetup将两者整体打包,生成安装文件即可。
喜欢请记得采纳。
Ⅲ JAVA如何编译成EXE的文件如何实现自编译(不要虚拟机还可运行)
(1) 使用InstallAnywhere等工具,将应用程序和JRE一起打包,制作一个exe的安装包。
在安装过程中,用户可以选择使用他机器上的JRE或是这个安装包内的JRE来运行程序。这是很常见的一种做法,显得比较专业,而且原来的程序不需要作任何改动,安装后的程序即在JVM上运行,可以获得原本的效果。如JBuilder就是这么做的。InstallAnywhere中一个压缩的JRE大概是8M,它可以针对linux、 win、mac等多个操作系统打包。
(2) 使用JET、gcj等工具,将应用程序制作成一个真正的exe文件。
采用这种方式做成的exe文件可以直接在没有安装JRE的计算机上运行。Java类库全部被编译成dll,变为本地调用。
JET是收费的(从 http://www.excelsior-usa.com/jetdlevala.html可以下载3.6试用版)。JET安装好以后,它要把系统上安装的JDK编译一下,要等很久。如果JDK是1.4.2_05版还需要打一个补丁。
gcj有windows和Linux版,直接下载zip包,不需要安装。里面有不少例子,一些build的批处理文件。从原理来说,gcj自己实现了 JVM规范,当运行用gcj制作的exe(大约2M)时会启动里面的一个小型jvm,在上面跑应用程序。不过,gcj目前还不能完整地支持Swing。
但不管怎样,把Java做成纯exe实在是吃力不讨好,有很多限制,文件又大。
(3) 使用exe4j制作伪exe文件。
原理:可执行的jar包文件可以通过命令行java -jar jarfile.jar来执行。制作伪exe其实做法一样,只不过做成exe,调用系统中的java.exe来运行它。
一般情况下,exe4j做成的可执行文件仍需JRE支持,也就是说只能在安装了JRE的计算机上运行。不过有一种方法可制作伪exe文件,在没有安装 JVM的机器上也能运行:虽然exe4j并不提供将JRE打包的功能,但是它提供如何搜索JRE的方法。在第六项设定[JRE]中有一步[Search sequence],添加一个Directory方式的搜索入口,指定是相对目录“.” ,然后把JRE目录中的bin和lib两个目录复制到你的发布目录中就可以了。(当然你可以不用当前目录“.”,任何当前目录下的其他目录也可以,比方 “./JRE”之类的)。此时发布目录中生成的exe文件就在运行时就会调用当前目录中的JRE,而不是通过系统注册表及环境变量寻找JRE了,所以只要把整个发布目录(含exe及JRE的bin和lib)复制到其他计算机上,也就实现了“目标机即便没有安装过JRE也可以执行”。当然,这种发布方式无法得到一个内含JRE的单独的exe文件。另外,JRE的完整目录有50M,但是我们的程序只可能调用其中很少的一部分,你可以手动为发布目录中的JRE减肥、去掉不使用的文件,但这需要一定的经验。减肥后的JRE根据应用程序的不同,最小可以只有10M左右。
(4) 把java应用程序最后做成applet。
将java applet编入html文件,用浏览器方式打开,可以在任何没有安装JRE的机器上运行,好比exe文件一样(当然在安装了JRE的计算机上也可以用批处理文件或java命令来运行)。Windows IE打开applet靠的是一个叫“micosoft VM”的东西,现在该软件一般都是自带的。不过,Windows IE支持的JDK最高版本只能到JDK1.1。如果别人的机器运行不了applet,无非这三个原因:
a. 程序编译时使用的JDK版本太高,Windows IE不支持。用较老板版本的编译器重新编译(v1.1之前)就可以了。比如在dos下javac -target 1.1 *.jav(强制使用JDK1.1编译源程序)。
b. 用户的Windows没有micosoft vm(这种情况比较少见,只有windows XP第一版等极少数情况)。这种情况下,当客户的IE每次load applet时候, Windows会提示“没有download micosoft VM”,他只需从网上下一个就可以了。
c. 用户计算机上装有一些保护ie的软件(比如最新的windows sp2有时就会防止java applet的loading)。暂时关闭保护功能就可以了。
(5) 使用JBuilder、exe4j等工具制作成需要JRE支持的exe文件。
Ⅳ 40java.exe命令可用于编译.java文件对错
java.exe命令可编译.java文件是错的。java.exe是用来执行.class文件的,业就是用来运行java字节码的。用来编译的是javac.exe命令,它负责将.java文件编译成.class文件,也就是把java源码编译为执行的二进制字节码,编译成功后后就可以运行了
Ⅳ java怎样编译成可执行程序exe
1. 从www.towerj.com获得一个TowerJ编译器,该编译器可以将你的CLASS文件编译成EXE文件。
2. 利用微软的SDK-Java 4.0所提供的jexegen.exe创建EXE文件,这个软件可以从微软的网站免费下载,地址如下:http://www.microsoft.com/java/download/dl_sdk40.htm
jexegen的语法如下:
jexegen /OUT:exe_file_name
/MAIN:main_class_name main_class_file_name.class
[and other classes]
3. Visual Cafe提供了一个能够创建EXE文件的本地编译器。你需要安装该光盘上提供的EXE组件。
4. 使用InstallAnywhere创建安装盘。
5. 使用IBM AlphaWorks提供的一个高性能Java编译器,该编译器可以从下面的地址获得:
http://www.alphaworks.ibm.com/tech/hpc
6. JET是一个优秀的Java语言本地编译器。该编译器可以从这个网站获得一个测试版本:
http://www.excelsior-usa.com/jet.html
7. Instantiations公司的JOVE
http://www.instantiations.com/jove/...ejovesystem.htm
JOVE公司合并了以前的SuperCede,一个优秀的本地编译器,现在SuperCede已经不复存在了。
8. JToEXE
Bravo Zulu Consulting, Inc开发的一款本地编译器,本来可以从该公司的网页上免费下载的,不过目前在该公司的主页上找不到了。