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

将java编译后的Class转成exe

    博客分类:
  • java
阅读更多
  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.edu.cn/pub/java/tools/jet 
  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后面去,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对这个功能不提供官方的支持!
分享到:
评论

相关推荐

    java .class反编译成.java工具

    本文将详细介绍“java .class反编译成.java工具”,以及如何使用jd-gui.exe这个实用的反编译软件。 首先,我们要明白什么是.class文件和.java文件。在Java编程中,程序员编写的是.java源代码文件,这些文件经过Java...

    Java反编译工具把.class文件转换为.java文件

    ### Java反编译工具:将.class文件转换为.java文件 #### 概述 在软件开发领域,有时我们可能需要分析第三方库或者开源项目的内部结构,这时就需要借助于反编译工具来帮助我们阅读和理解其源码。Java作为一种广泛...

    么把.class文件反编译成.java 经修改后再编译成.class

    Java 反编译是指将编译后的.class 文件转换回原始的.java 源代码的过程。在实际开发中,我们可能需要反编译.class 文件以便于修改或 debugging。下面将详细介绍.class 文件反编译到.java 文件的过程,包括反编译...

    java jar反编译工具 java Class反编译工具

    Java开发过程中,有时我们需要查看或理解已编译的Class文件中的源代码,因为Java的编译过程会将源代码转化为字节码(.class文件)。在这种情况下,反编译工具就派上了用场。本篇文章将详细介绍Java的jar反编译工具...

    java反编译工具(.class文件反编译成.java文件)

    Java反编译是将已编译的字节码(.class文件)转换回源代码(.java文件)的过程,这对于理解和学习已有的Java程序、逆向工程或调试都是很有用的。标题提到的"java反编译工具"是用于这个目的的软件,它能够帮助开发者...

    java反编译软件,可以将编译后的class文件反编译成java文件

    Java的源代码被编译成字节码后,虽然失去了人类可读的形式,但通过反编译工具,我们可以将这些字节码转换回接近原始的Java源代码。这对于调试、逆向工程、学习开源项目或者分析恶意软件的行为非常有用。 标题提到的...

    java class反编译工具

    在描述中提到的工具,是一个小巧而实用的Java Class反编译器,用户只需运行`.exe`可执行文件,然后选择要反编译的`.class`文件,即可在指定目录下生成对应的`.java`文件。 Java字节码是Java源代码经过编译后的中间...

    JAVA反编译软件(可将class文件反编译为java文件)

    Java字节码是一种中间语言,由JVM(Java虚拟机)执行,而反编译就是尝试将这种二进制形式还原成人类可读的代码。 2. **Java反编译的用途**: - **代码理解**:当没有源代码时,反编译可以帮助理解第三方库的内部...

    java反编译exe

    Java反编译exe主要指的是将Java的字节码(.class文件)转换回源代码(.java文件)的过程。在Java编程中,源代码被编译成字节码,然后由JVM(Java虚拟机)执行。然而,出于调试、学习或者逆向工程的目的,有时我们...

    java编译class文件

    标题“java编译class文件”涉及的核心知识点是Java的编译过程。Java源代码文件的扩展名为`.java`,这些文件包含类定义、方法定义以及其他Java语法元素。要将`.java`文件编译成`.class`文件,我们需要使用Java的JDK...

    java.class 反编译工具

    Java 类文件(.class)是Java程序编译后的二进制格式,包含了程序的字节码,用于JVM(Java虚拟机)执行。反编译工具则是将这些字节码转换回可读的源代码(.java文件),帮助开发者理解已有的类库或研究别人的代码。...

    java编译成exe

    在 Java 中,我们通常编写 .java 文件,然后通过 Java 编译器 javac 将它们编译成 .class 文件,这些文件被组合成 .jar 包。然而,.jar 文件在 Windows 上并不是直接可执行的,用户需要有 Java 运行环境(JRE)才能...

    java反编译软件 class转java

    Java是一种广泛使用的编程语言,它的源代码被编译成字节码(class文件)后,可以在Java虚拟机(JVM)上运行。然而,由于Java的字节码是二进制格式,对于开发者来说,直接阅读和理解这些class文件可能会非常困难。这...

    java反编译(将class文件反向编译成java源文件)

    Java编译器将源代码转换成字节码,这个过程是单向的,但通过反编译工具,我们可以尝试逆向这个过程,虽然可能无法完全恢复到原始的源代码格式,但至少可以得到可读的代码。 主要的Java反编译工具有许多种,其中包括...

    将jsp生成java然后反编译为class然后打入jar

    反编译完成后,如果我们要将这些.class文件打包成.jar文件,可以使用Java的jar命令行工具。例如: ```bash jar cf myapp.jar -C WEB-INF/classes . ``` 这条命令会创建一个名为myapp.jar的文件,其中包含了WEB-INF...

    java .class 类反编译软件

    当开发者编写完`.java`源代码后,会通过Java编译器(如javac)将这些源代码编译成字节码,即`.class`文件。字节码是一种中间表示,它不依赖于特定的硬件平台,可以在任何支持Java的平台上运行,这是Java“一次编写,...

    将JAVA编译为EXE的几种方法

    ### 将JAVA编译为EXE的几种方法 在IT领域中,将Java程序转换为Windows可执行文件(.exe)的需求十分常见。这不仅提高了应用程序的启动速度,还简化了最终用户的安装流程。本文将详细介绍几种将Java编译为EXE的方法...

    java class文件反编译

    1、打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件, 保存至当前文件夹,并在编辑器中打开查看; 2、打开一个文件夹,XJad将该文件夹下所有*.class文件进行反编译,并保存至该文件夹下, 依据包...

    查看java编译后的class文件的反编译工具.rar

    这就是"查看java编译后的class文件的反编译工具"所扮演的角色。 这个压缩包文件包含了一个用于查看和分析Java字节码的反编译工具。反编译工具能够将.class文件转换回接近原生的Java源代码,帮助开发者了解程序的...

    Java的class反编译工具

    描述中提到的"用于反编译class文件,直接打开里面的exe文件运行打开class文件即可实现反编译",指的是JD-GUI这款工具。JD-GUI是一个图形用户界面的应用程序,它允许用户直接查看单个Java类的源代码,而无需进行任何...

Global site tag (gtag.js) - Google Analytics