java-Java编译成.exe的目的是什么,具体怎么做?

问题描述

Java编译成.exe的目的是什么,具体怎么做?
急求:Java编译成.exe的目的是什么,具体步骤怎么做?谢谢各位啦

解决方案

JDK只能将java源文件编译为class文件。
class文件是一种跨平台的字节码,必须依赖平台相关的JRE来运行。Java以此来实现跨平台.有些开发工具可以将java文件编译为exe文件。 但是这种做法,因为取消了跨平台性。如果你确信你的软件只在Windows平台上运行,你可以考虑使用C++/C#来编程。
具体做法可以参考:

http://jingyan.baidu.com/article/358570f6727bb7ce4724fc88.html

http://m.blog.csdn.net/blog/majjfootman/16968043

解决方案二:
介个。。。
exe(**exe**cutable program)是可执行程序,编译成exe程序,可以让别人不依赖编译器可以使用软件
使用eclipse、javap等工具编译呗

解决方案三:
将java程序编译成独立运行的exe文件
? 众所周知java的程序可以“一次编译,到处运行”,这个特性不错,但是实现这个特性的前提是当前的平台
必须有相应的jvm,而且如果当前平台的jvm低于程序要求的版本的话这个程序就不能正常运行,还有就是运行
java程序除了直接双击jar包之外就是在控制台输入命令执行,这样显得java程序跟其他语言开发的程序有很大
的差别,我们可以实现像其他语言开发的软件一样独立运行和实现一些定制的功能吗?答案是肯定的,下面就
介绍一下用exe4j将java程序编译成使用自带jvm的exe文件。

解决方案四:
将Java应用程序本地编译为EXE的几种方法:

1.exe4j
exe4j可以打包成各种格式的exe可以把jar打包进exe也可以引用一个外部的jar文件,还可以打包成windows服务的程序,并且可以设置最低jre的版本,还可以设定启动画面,虽然java6.0已经实现了这一点,但是还是没有exe4j生成的启动画面快。

下载地址:http://download.csdn.net/source/927640

2.install4j
install4j是一个功能强大的多平台Java安装文件生成工具,用于生成Java应用程序本地化的安装及应用程序发布。 install4j的优异性在于它易于使用,紧密的集成到目标平台,以及灵活的JRE 管理与部署选项。

下载地址:http://download.csdn.net/source/927687

3.InstallAnywhere
Installanywhere很好用,我以前常用这个软件。最近又要用到,找不到破解版了。Installanywhere防破解做得很不错,网上很难找到破解版。

下载地址:http://download.csdn.net/source/972131

4.Jar2Exe
??? 本软件可以将 Jar 文件转化为 Exe 可执行文件,使采用 Java 开发的软件更加方便地执行和发布,避免了采用批处理文件进行启动带来的麻烦。生成的 Exe 可执行文件可以自动从“注册表”、“环境变量”或者“配置文件”找到运行环境,并自动执行指定的启动类。
???? 本软件可以生成:“控制台程序”,“隐藏控制台的 Windows 窗口程序”以及“后台启动运行的 Windows NT 服务程序”三种类型的可执行文件。

下载地址:http://download.csdn.net/source/927650

  1. JET JET是一个优秀的Java语言本地编译器。但该编译器不是开源的,你可以从下面这个网站获得一个测试版本:   下载地址:http://www.excelsior-usa.com/jet.html 

6.IBM AlphaWorks
使用IBM AlphaWorks提供的一个高性能Java编译器,该编译器可以从下面的地址获得:
 
http://www.alphaworks.ibm.com/tech/hpc 

7.JBuilder
这个工具不用多讲了,在jbuilder6.0以前的(包括6.0),是不能生成exe文件的,从jbuilder7.0开始都可以生成exe文件。 这个是Borland不公开的使用技巧,能够通过JBuilder来制作exe文件。
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.exeJBuilerW.exeJBuilder.config改名成相应的文件名,在JBuilder.config里面指定主类和类路径,就能够通过执行JBuilder.exe(或者被改名后的exe文件)来启动Java应用程序了。下面是用本机为例。
Borland JBuilder 5被安装在E:jbuilder5目录下,在E:jbuilder5bin下建立一个temp目录,然后把JBuilder.exeJBuilder.configJavaLauncher.dlljdk.config四个文件拷贝到E:jbuilder5bintemp目录下,然后在这个目录下建立一个hello目录,在这个目录下生成一个hello.java文件,即E:jbuilder5bintemphellohello.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.exeJBuilder.config修改成所需要的文件名,例如foo.exe和foo.config文件。
现在执行foo.exe文件
至此,通过修改JBuilder来使用exe文件启动自己的Java应用程序已经完成了。
但是好玩的地方并不在这个地方,下面的小技巧可能更有趣,将Jar文件打包进入exe文件!
假设利用上面的文件,生成hello.jar包,
jar cvf hello.jar hello*.class
然后将jar包附加到JBuilder.exe后面去,
copy /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对这个功能不提供官方的支持!

时间: 2024-10-02 18:06:50

java-Java编译成.exe的目的是什么,具体怎么做?的相关文章

如何把Java项目打包成exe文件

问题描述 我在使用exe4j把Java项目打包成exe的时候,最后出现错误了,不能把oracle的驱动jar包加进去,不知道怎么弄了.在Java项目中,我已经把oracle的jar包放在项目中的lib下,并在项目中引用了,但是在转换的时候,驱动jar包总是不能添加到exe文件中,JRE环境的文件都能添加到里面 解决方案 解决方案二:你百度,,,我见过那种方法!解决方案三:不要exe了,用java或javaw调用jar里的入口类,将命令行写成批处理,win下用bat,linux下用.hexe文件无

如何将.java文件编译成.class文件? 我菜鸟

问题描述 如何将.java文件编译成.class文件?我要编译1个*.JAVA文件为*.class文件网上找了似乎看在DOS做比较简单,但是我还是没看懂,好像是要用javac我电脑里装的是jdk1.6.0_11要怎么弄哥哥们帮详细说下怎么弄好么,我刚开始接触JAVA一窍不通呢.谢谢啦! 解决方案 解决方案二:下载netbeans用ide吧解决方案三:javac解决方案四:我觉得楼主是在学java直接从ide开始学起吧.解决方案五:cmd下,cd到.java所在的目录然后javac*.java解决

无法把winform程序编译成exe文件

问题描述 //c#动态编译winform代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.CodeDom;usingMicrosoft.CSharp;usingSystem.IO;usingSystem.CodeDom.Compiler;namespaceSoftTest{classProgram{staticvoidMain(string[]args){stri

java程序打包成exe与jar的图文教程_java

Java程序打包 1.java工程源码打包成jar包 选中工程,右键选择export... 选择Runnable JAR file (1)launch configuration 启动配置,java程序的启动类,如果工程没有生成类,先执行"选中工程--run as---Java Application " (2)Export Destination 输出文件名称,要生成的jar文件 2.jar包转换成.exe 使用exe4j4.0将jar生成exe执行文件 破解的exe4j4.0可在下

求助:如何将java程序转成exe文件格式

问题描述 小弟最近写了一个java程序,想把程序弄成exe格式,可以在没有java虚拟机的电脑上运行.用了exe4j这个软件,按照网上相关的教程做出来exe文件格式,点击后出现这样的问题,求各路大神指点. 解决方案 解决方案二:同有这个问题,等大神解答解决方案三:你要把jre也要打进那个exe里面解决方案四:将JRE打入exe里面后,出现这个提示,但是我的JRE没有损坏,是不是exe4j只能在32位系统上才可以做出exe文件并执行?

如何将Java导包成exe文件

  使用exe4j打包jar生成exe 需要用到的工具eclipse用于打包,exe4j用于生成exe文件的工具,这个是必须的.大家可以到网上下载我用的是4.0版本. 首先,在eclipse中选中一个自己想导包工程项目,然后写单击file,在弹出的选项中选择Export,然后选择Runable JAR file选项, 接下来选择你想导包的项目,并导包到你想要的地方, 点击NEXT,在弹出的提示框中选择Details; 在弹出的机箱中选择你的工程中含有主函数的类 没有问题! 下面开始详述步骤: 1

新手提问大神,java源代码写好后该怎么用,打包成exe?还是有别的更好的方法

问题描述 新手提问大神,java源代码写好后该怎么用,打包成exe?还是有别的更好的方法 有开发经验的大神告诉我,java源代码写好后该怎么用,打包成exe?还是有别的更好的方法,有的提到了脚本之类的 解决方案 点进去看看,试着去用用http://jingyan.baidu.com/article/358570f6727bb7ce4724fc88.html 解决方案二: 点进去看看,试着去用用http://jingyan.baidu.com/article/358570f6727bb7ce472

java 程序转可执行文件exe的问题

问题描述 问大家一个问题啊,怎样把一个java程序编译成可执行程序在没有装jdk的机子上可以运行,愿指教,万倍感激 解决方案 你唯一可以做的就是:打包安装程序时,将JDK的安装程序也带进去,安装程序时,同时安装JDK.即使转换成为了exe文件,它的本质上也还是需要JDK才能运行的.解决方案二:可以考虑用AdvancedInstaller来打包,Installanywhere也行.

怎么将java源码转成EXE文件?

问题描述 我写了一道小程序,有什么办法能将他生成EXE文件,随处都可以打开?我想在其他机子上面运行java111这样打开,可是别人没有装JRE. 解决方案 解决方案二:java打包成jar,用工具将jar做成exe要在其他没装jre的机器上运行要将jre一起制作到exe中解决方案三:mark解决方案四:可使用EXE制作工具:jsmooth,把JRE也打进去.挺好用的,图形化的界面.解决方案五:exe4j解决方案六:用JET也可以解决方案七:学习了~~~解决方案八:innosetup解决方案九:学