没有必要编译成exe,
只要把用到的class打包成jar文件,
然后写批处理文件就OK了,
java -classpath 'your.jar' yourMainClass

解决方案 »

  1.   

    ms 的visual j ++ 可以的。
      

  2.   

    弄成批处理文件,你一启动就多了一个dos窗口,你看看jbuilder就是了人家启动没有一个dos窗口,而且启动文件是exe的。
      

  3.   

    visual j++我不敢恭维了,里面的根本不是java.
      

  4.   

    用jbuilder的本地打包功能,生成的就是.exe文件,不过仍人需要jdk或jre支持才能运行。
      

  5.   

    没有用的,用jbuilder生成exe很简单,你编个简单的类,然后用它的生成exe的工具,仔细一点,肯定没有问题,可是关键是,这个exe文件挪到别的机子上要运行,必须安装jdk,也就是java的运行环境.你自己多试试,没有问题的.
      

  6.   

    用HotJava试一试,但是我要告诉你,一旦将 Java编译成exe后,你的这个Java程序就失去了Java本身的“编译一次,到处运行”这种跨平台的意思了。
       其实Java应用本身就给你提供了一个目录树的机制,你只要将你的类文件放在这个目录下,就可以到处应用。
      

  7.   

    jb7 里Native Executable Builder
      

  8.   

    为什么我用jbuilder生成的.exe文件,程序简单,一般都能用,程序复杂,一般就都不能用了?(用到了一些不是jdk自带的包)
      

  9.   

    用 jet试试,现在出到2.5版了,可以支持JDK1.40了.可以把你的CLASS文件直接编译成为EXE程序
      

  10.   

    Javaw -jar your.jar.试试看看。
      

  11.   

    elabs(洋洋) 
    说的,符合楼主的意思!
    JET才18M多,但需要安装一个多小时(P4 1.6G)的机器
    当生成.exe后,就也操作系统有关了!
      

  12.   

    多谢大家的建议。但装jet时,我装不了。
      

  13.   

    if you must attain your purpose,I suppose you use VJ++.
      

  14.   

    jet为什么装不了??你要先装好jdk有时候还要设置homepathjet安装虽然慢,但使用起来很方便,不过编译好的exe还是需要jet的动态库支持
      

  15.   

    用Jbuilder生成的EXE文件好像不光需要JRE,需要的是Borland的JRE(Windows下),Linux下可以只要JRE,别的没有试过!
      

  16.   

    把java作成.exe?
    常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件。通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 JET 来进行    
    编译。但是 JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性。 
      

  17.   

    通常有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 JET 来进行编译。但是 JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性。下面就来看看什么是 JAR 文件包吧:1. JAR 文件包JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。举个例子,如果我们具有如下目录结构的一些文件:  ==  `-- test    `-- Test.class把它压缩成 ZIP 文件 test.zip,则这个 ZIP 文件的内部目录结构为:  test.zip  `-- test    `-- Test.class如果我们使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,则这个 JAR 文件的内部目录结构为:  test.jar  |-- META-INF  |  `-- MANIFEST.MF  `-- test    `--Test.class2. 创建可执行的 JAR 文件包制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序。因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。其实不然,如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了。在 Windows 下安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开。那么,对于一个可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由 hh.exe 打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包。创建可执行的 JAR 文件包,需要使用带 cvfm 参数的 jar 命令,同样以上述 test 目录为例,命令如下:jar cvfm test.jar manifest.mf test这里 test.jar 和 manifest.mf 两个文件,分别是对应的参数 f 和 m,其重头戏在 manifest.mf。因为要创建可执行的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的 JAR 文件包和不可执行的 JAR 文件包都包含 MANIFEST。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了 Main-Class 一项。这在 MANIFEST 中书写格式如下:Main-Class: 可执行主类全名(包含包名)例如,假设上例中的 Test.class 是属于 test 包的,而且是可执行的类 (定义了 public static void main(String[]) 方法),那么这个 manifest.mf 可以编辑如下:Main-Class: test.Test <回车>这个 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且该行以一个回车符结束即可。创建了 manifest.mf 文件之后,我们的目录结构变为:  ==  |-- test  |  `-- Test.class  `-- manifest.mf这时候,需要到 test 目录的上级目录中去使用 jar 命令来创建 JAR 文件包。也就是在目录树中使用“==”表示的那个目录中,使用如下命令:jar cvfm test.jar manifest.mf test之后在“==”目录中创建了 test.jar,这个 test.jar 就是执行的 JAR 文件包。运行时只需要使用 java -jar test.jar 命令即可。需要注意的是,创建的 JAR 文件包中需要包含完整的、与 Java 程序的包结构对应的目录结构,就像上例一样。而 Main-Class 指定的类,也必须是完整的、包含包路径的类名,如上例的 test.Test;而且在没有打成 JAR 文件包之前可以使用 java <类名> 来运行这个类,即在上例中 java test.Test 是可以正确运行的 (当然要在 CLASSPATH 正确的情况下)。
      

  18.   

    你把java打包成jar,你双击运行后他会出现一个讨厌的dos窗口,你把这个讨厌的dos窗口关闭后,整个程序都关闭了,这达不到我的要求。我要的标准是,双击程序后,不出现dos窗口,只出现你的程序窗口。
    我昨晚用jet2.5试过,读那个英文的帮助文件,终于找到一个参数。只要在编译命令上加这个参数就能达到这种效果。其实jet的安装并不慢,只是安装完了,它要把jdk所有的java类都重新编译一次,我的机子用了45分钟。(毒龙800,256SDR,硬盘5400转)
      

  19.   

    例如你的文件为test.java
    用javac生成test.class
    然后用
    jc test.class+gui
    这样就可以变成百分百的exe文件了。
    还有一些参数可以把class文件编译成dll.
      

  20.   

    請問樓上,你裝的JET是什麼版本的,我裝的是personal edition 2.5,編譯的exe還是需要jet dll的
    你加個+gui,只是不顯示dos窗口,而不是完全的可以獨立運行的exe,還是需要jre的,你可以試著在其他沒有裝過jre的機器上運行,應該會提示你沒有jre,需要用JetPack(personal版本沒有)來生成可以真正脫離JVM的exe運行jar,不想出現dos窗口,很簡單,寫個自動批處理:
    start javaw -jar xxx.jar
    就ok了說了那麼多,其實要想在windows下不安裝jre,又可以執行java的exe,方便的方法也有一個:用ms的VJ++,因為windows有java1.1的運行庫,但不支持swing等api.其實VJ++只是一種工具,我就很喜歡它的編輯環境,比jb7強太多了,你用它當然可以寫出純java的程序.
      

  21.   

    在留言里告知你的email addr
      

  22.   

    发错了,我的email是[email protected]
      

  23.   

    去下载exe4j吧,就是JAVA to Exe 的工具了:
    http://www.ej-technologies.com/products/exe4j/overview.html
      

  24.   

    我来问问啊,那在jb里怎么啊java文件译成class文件呢.
    javac这个exe我没找着
      

  25.   

    Crazycoding(狂热代码) 我发了,查收! 
    呵呵,我要分分~~~
      

  26.   

    smallfox(小狐狸),你给我的软件怎么用呀?
    具体写出来.
      

  27.   

    如果你要在windows下运行,还是不要用java了!!!
      

  28.   

    xiaoyebing(深蓝大盗) 的方法一般是可以的...但是我发现对打包的类就会找不到类名了
    比如在控制台下可以
    java hello.server 访问被打包的server可是无论怎么设置.mf文件,
    如:hello.server、server等
    做成jar包以后就找不到目录了。。不知谁有办法!!