http://blog.csdn.net/luoweifu/article/details/7628006/
首先,看一下我的項目的目錄結構:
1,項目名字上面點右鍵,選擇Export,在選擇java\JAR file,下一步;如下圖:
(2),選擇,src檔案夾,.classpath和.project可以去掉不選。Select the export distination(選擇輸出路徑),下一步。
(3),去掉Export class files withcompile errors(編譯錯誤時也輸出class檔案)的選項,單擊下一步。
(4),在main class中選擇含有main方法的類,單擊finish。
(5),可能會出現警告JAR export finished with warings, see details for additional information.選擇OK。
(6)、可能會出現的錯誤
如果以上過程都能勝利完成,恭喜你,這一過程完成了,生成個jar檔案成功!但是有時候在第(4)後會出現錯誤,如:
此時,課通過以下方法解決:
我寫的代碼是:
Manifest-Version: 1.0
Main-Class: execute.Structure
Class-Path: .lib/jfreechart-1.0.1.jar lib/liquidlnf.jar lib/nimrodlf-1.0b.jar lib/substance.jar
//導入的包的路徑
Created-By: loweifu
在第4步中選擇Use exiting manifest from workspace,如下圖:
能夠生成.exe檔案的軟體有很多,自己去查一下,我這裡隻用 exe4j,先去下載下傳一個exe4j并安裝。假設你的項目已經勝利打包成jar檔案,那麼就可以進行下面的操作了。
首先,在任意目錄建立一個檔案夾,最好命名和項目名相同,我在E盤建立了一個“DataStructure”檔案夾,之後将所有的資源檔案以及我們生成的可執行jar檔案(我的DataStructure.jar)都拷貝到這個檔案夾裡, lib目錄,如果你要使對方計算機在沒有安裝JDK的情況下也能使用該程式,就需要将自己機器上的jre目錄也拷貝進來,我安裝的jre6,最後的目錄結構如下:
選擇“jar in exe”
選擇你的應用程式的名稱和将要生成的可執行檔案的輸出檔案夾。然後>>next.
如果隻允許生成的exe檔案同時隻能打開一個程式運作,則把 “Allow only a single running instance of the application”這項的選擇鈎上。“Icon File”項表示生成exe檔案後的圖示,選擇一個“.ico”格式的圖檔。點選next
在class path框下清除原有的class path路徑,點選右側的”+”選擇打包好的jar檔案
(1)、在Archive中選擇要導入的jar檔案,如下圖:
點選“OK”,結果如下:
(2)、在Main class中選擇入口類,即含有main函數的類。
之後點選next
Main Class設定完成後,依次将所有需要的第三方類(即外部類)加到Class Path下,方法同添加“DataStructure.jar”一樣,點選“Next”
在Minimum和Maximum中分别填寫所允許的最小和最大JDK的版本号。
如果要在這個程式中捆綁jre,則進入Configure search sequence選項:
(1)、将Search Windows registry保留,如果沒有該項,請點選綠色“+”,選擇“search registry”,然後點選“OK”如下圖;
(2)再把其它的所有的directory删除,特别是如果有“JAVA_HOME”或“JDK_HOME”的話一定要删除,因為他會儲存你本機的JAVA_HOME位址,安裝時會出現路徑找不到的錯誤;
(3)、點選綠色“+”來選擇捆綁的JRE位置
選擇剛剛拷貝好的jre如:
在preferred VM中選擇一種-選擇虛拟機類型,我選擇的是 Default VM。
7、接下來沒有什麼特别重要的配置了,可根據需要自己去選一些參數,也可以直接next,next,知道完成。
生成exe檔案之後可能每次打開都會出現提示框:this executable was created with an evaluation version of exe4j
這是因為你還沒有注冊exe4j軟體,注冊之後就不會有提示了。網上搜的一個注冊碼:L-g782dn2d-1f1yqxx1rv1sqd。
Inno Setup是一個免費的 Windows安裝程式制作軟體,我用的是Inno Setup v5.4.3。
我的腳本程式如下:
[Setup]
AppName=資料結構示範程式
AppVersion=1.5
DefaultDirName={pf}\DataStucture
DefaultGroupName=DataStucture
;UninstallDisplayIcon={app}\MyProg.exe
OutputDir=D:\java
[Files]
Source: "E:\DataStructure\jre\*"; DestDir: "{app}\jre"
Source: "E:\DataStructure\jre\bin\*"; DestDir: "{app}\jre\bin"
Source: "E:\DataStructure\jre\bin\client\*"; DestDir: "{app}\jre\bin\client"
Source: "E:\DataStructure\jre\lib\*"; DestDir: "{app}\jre\lib"
Source: "E:\DataStructure\jre\lib\audio\*"; DestDir: "{app}\jre\lib\audio"
Source: "E:\DataStructure\jre\lib\cmm\*"; DestDir: "{app}\jre\lib\cmm"
Source: "E:\DataStructure\jre\lib\deploy\*"; DestDir: "{app}\jre\lib\deploy"
Source: "E:\DataStructure\jre\lib\ext\*"; DestDir: "{app}\jre\lib\ext"
Source: "E:\DataStructure\jre\lib\fonts\*"; DestDir: "{app}\jre\lib\fonts"
Source: "E:\DataStructure\jre\lib\i386\*"; DestDir: "{app}\jre\lib\i386"
Source: "E:\DataStructure\jre\lib\im\*"; DestDir: "{app}\jre\lib\im"
Source: "E:\DataStructure\jre\lib\images\cursors\*"; DestDir: "{app}\jre\lib\images\cursors"
Source: "E:\DataStructure\jre\lib\management\*"; DestDir: "{app}\jre\lib\management"
Source: "E:\DataStructure\jre\lib\security\*"; DestDir: "{app}\jre\lib\security"
Source: "E:\DataStructure\jre\lib\zi\*"; DestDir: "{app}\jre\lib\zi"
Source: "E:\DataStructure\jre\lib\zi\Africa\*"; DestDir: "{app}\jre\lib\zi\Africa"
Source: "E:\DataStructure\lib\*"; DestDir: "{app}\lib"
Source: "E:\DataStructure\DataStructure.exe"; DestDir: "{app}";
[Icons]
Name: "{group}\DataStructure"; Filename: "{app}\DataStructure.exe"
接下來稍微解釋一下:
[Setup這個段包含用于安裝程式和解除安裝程式的全局設定。
AppName(要安裝的)程式名稱
AppVersion程式版本号
DefaultDirName安裝時預設的檔案夾
DefaultGroupName快捷菜單或開始菜單的預設檔案夾
OutputDir安裝程式的輸出路徑
[Files]這是定義安裝程式安裝檔案到使用者系統中的可選檔案段。
Source資源檔案
DestDir檔案安裝到使用者系統中的目錄。
[Icons]這個可選段定義所有建立在開始菜單和/或其它位置 (比如桌面)的快捷方式。
Name要建立的快捷方式的名字和位置。
Filename捷方式的指令行檔案名,通常用一個目錄常量開頭。
編輯好腳本程式之後選擇“建構”\“編譯”完成後即可。
選擇"檔案"/"建立",打開''Inno Setup腳本向導"建立新的腳本檔案。
根據提示一步一步來,這個很單間,我就不多說了。
到此,自己寫的程式及完全包裝好了,宛如一個完整的軟體。“哎,自己簡直就是一個軟體工程師啊!:-D :-D”哈哈……開個玩笑!