熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

用JBuilder9制作EXE文件不公開秘笈

2022-06-13   來源: Java核心技術 

  本文是Borland不公開的使用技巧能夠通過JBuilder來制作exe文件來啟動Java文件
  
  JBuilder並不支持本地編譯機制但是有一個隱藏的技巧可以讓你從可執行文件來啟動Java 程序可以出現或者不出現console窗口需要JBuilder的bin目錄下的這些文件: JBuilderexe JBuilderWexe (可選) nfig
  
  nfig JavaLauncherdll JBuilderexe是一個通用的可執行外殼文件用以啟動Java程序JBuilderWexe好像是javawexe一樣它把JBuilderexe包裝起來運行時候不顯示那個conso le的窗口使用這些文件的關鍵是文件名JBuilderexe查找一個文件叫nfig的配置文件裡面包含了運行Java程序的必須信息
  
  同樣的JBuilderWexe查找 JBuilderexe來啟動不帶Console窗口的Java程序如果把JBuilderexe重命名為fooexefooexe將去尋找nfig配置文件同樣JBuilderWexe被重命名為fooWexe它會去尋找fooexe文件
  
  如何利用JBuilderexe來啟動應用程序?只要把JBuilderexeJBuilerWexenfig改名成相應的文件名在nfig裡面指定主類和類路徑就能夠通過執行JBuilderexe(或者被改名後的exe文件)來啟動Java應用程序了
  
  下面是舉一例子
  
  Borland JBuilder 被安裝在E:\jbuilder\目錄下在E:\jbuilder\bin\下建立一個temp目錄然後把JBuilderexenfigJavaLauncherdllnfig四個文件拷貝到E:\jbuilder\bin\temp\目錄下然後在這個目錄下建立一個hello目錄在這個目錄下生成一個hellojava文件即E:\jbuilder\bin\temp\hello\hellojava文件
  
  //hellojava
  package hello;
  public class hello{
  public static void main(String s[]){
  Systemoutprintln(Hello Exe file!);
  }
  }
  
  編譯java文件然後打開nfig文件作相應的修改
  
  在nfig裡面找到下面兩行
  
  # Start JBuilder using the its main class
  mainclass comborlandjbuilderJBuilder
  
  修改為
  
  # Start JBuilder using the its main class
  mainclass hellohello
  addpath E:/jbuilder/bin/temp/
  
  addpath命令是把目錄加入類路徑中這個命令和其它config裡面可以識別的命令可以在JBuilder/bin目錄下的config_readmetxt裡面找到詳細說明
  
  然後將nfig裡面的javapath修改成相對的路徑例如原來是
  
  javapath /jdk/bin/java
  
  修改成
  
  javapath //jdk/bin/java
  
  最後將JBuilderexenfig修改成所需要的文件名例如fooexe和nfig文件
  
  至此通過修改JBuilder來使用exe文件啟動自己的Java應用程序已經完成了但是好玩的地方並不在這個地方下面的小技巧可能更有趣將Jar文件打包進入exe文件!
  
  假設利用上面的文件生成hellojar包執行過程:
  
  jar cvf hellojar hello\*class
  
  類文件打包成exe文件然後將jar包附加到JBuilderexe後面去執行過程:
  
  copy /b \JBuilderexe+hellojar fooexe
  
  將jar文件轉化成exe文件
  
  在nfig(nfig)文件裡面把前面加入的類路徑去掉並加入下面的路徑
  
  addpath E:/jbuilder/bin/temp/fooexe
  
  然後執行: fooexe 將會看到一個含jar包的exe文件被執行了!
  
  這個過程的大致原理是exe文件的重要信息都在文件頭部所以把亂七八糟的東西放exe文件尾部是不要緊的而jar/zip文件的重要信息是在文件尾部的這樣它們兩不相干能夠容易的被執行
  
  但是使用這個功能自己要承擔可能帶來的風險因為Borland對這個功能不提供官方的支持!
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26179.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.