原来的程序都要安装一个虚拟机,很麻烦。有什么好办法把JAR编译成脱离虚拟机运行的exe呢

解决方案 »

  1.   

    以下内容为转贴:
    http://expert.csdn.net/Expert/topic/2340/2340111.xml?temp=.9180872
    著作权归luckyappl (洛洛) 菜鸟必读3:怎樣生成java的可執行文件?(
    总结如下:  
     
    第一種:在jbuilder中:  
    首先你要保证Run菜单-->Run  Project能顺利运行  
    然后Wizards菜单-->Native  Executable  Builder  
    选中Compress  the  contents  of  the  archive(产生jar文件的话)  
    Next-->Next-->选中Always  include  all  classes  and  resources再Next-->Next-->Next  
    选中Windows  GUI"exe"(产生EXE文件的话)-->Finish  
    再在项目的文件列表中的Native  Executable右击-->Make就可以了  
     
    第二種:在cmd  下生成jar文件  
    abc.txt内容如下:  
    Manifest-Version:  1.0    
    Main-Class:  main-class-name(回車)  
    在cmd下:    
    javac  *.java  
    jar  cvfm  abc.jar  abc.txt  *.class  
    示例——生成能通过鼠标双击就执行的.jar文件  
    一、编写Java源程序Test.java如下:  
    //  Test.java  
    import  javax.swing.*;  
    /**  
     *  @(#)  Test.java  
     *  Copyleft  (c)  2002  RatKing  
     *  @author  <a  href="[email protected]">RatKing</a>  
     *  @version  0.1,  2002-11-7  
     *  描述:一个测试用的Java  Application  
     */  
    public  class  Test  extends  JFrame  {  
           public  Test(String  title)  {  
                   super(title);  
                   this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
                   this.getContentPane().add(new  JLabel("测试!",  JLabel.CENTER),  SwingConstants.CENTER);  
                   this.pack();  
           }  
     
           public  static  void  main(String[]  args)  {  
                   try  {  
                           //UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());  
                           UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());  
                   }  catch(Exception  e)  {  
                           e.printStackTrace();  
                   }  
                   Test  t  =  new  Test("Test  -  测试");  
                   t.setVisible(true);  
           }  
    }  
     
    二、编译Test.java为Test.class(当然假设你事先已经设置好了JDK的环境变量PATH和CLASSPATH)  
    在命令行执行编译命令:  
    javac  Test.java  
     
    三、用文本编辑器(比如记事本/UltraEdit等  -  甚至用ECHO命令加管道“>>”)编写如下manifest文件,并保存为abc.txt  
     
    Manifest-Version:  1.0  
    Main-Class:  Test  
     
    【注意】文件abc.txt内必须是3行文本:  
    第一行的内容依次是:“Manifest”、英文减号、“Version”、英文冒号、英文空格、数字“1”、英文句号、数字“0”  
    第二行的英文冒号与Test之间必须要有一个英文空格!!!  
    第三行是一个空行,也就是说,你要在Test之后键入一个回车,然后才可以存盘退出!!!  
    如果冒号后面没有空格,可以生成jar文件但不能执行;如果Test后没有回车符,则生成jar文件时会报错。  
     
    四、将Test.class打包成.jar文件,并使用abc.txt指明哪一个是带有public  static  void  main()的“主函数”  
    在命令行执行编译命令:  
    jar  cvfm  Test.jar  abc.txt  *.class  
     
    你可以使用WinZip之类的解压软件看一看刚刚生成的Test.jar文件里到底有什么。  
     
    五、用鼠标双击Test.jar的图标,应该可以看到Test执行后的窗口。  
     
    〖说明〗如果你正确地安装了Java运行环境(JRE),那么.jar的图标应该是象一页纸并有一个A的形状,就如同写字板的图标。  
    如果你的.jar文件默认的打开关联不对,可以重新设置:  
    我的电脑->查看(Win9x)或工具(Win2k)->文件夹选项->文件类型->选择JAR文件->编辑该类型文件的属性->操作栏填入[  open  ](不填引号和中括号[]),并在“执行操作的应用程序”栏填入[  "C:\Program  Files\Java\j2re1.4.1\bin\javaw.exe"  -jar  "%1"  %*  ](填两对英文引号,不填[])  
    并按“确定”、“关闭”退出对.jar文件关联的编辑。  
    (你的javaw.exe文件是不是位于C:\Program  Files\Java\j2re1.4.1\bin\路径下,视你自己电脑的情况而定)  
      

  2.   

    不过编译成exe之后就失去了,java的跨平台性能了!