1. 程式人生 > >Java程式如何生成Jar、exe及安裝檔案

Java程式如何生成Jar、exe及安裝檔案

Java程式如何生成Jarexe及安裝檔案

一、用Eclipse生產Jar檔案

首先,看一下我的專案的目錄結構:

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)後會出現錯誤,如:

此時,課通過以下方法解決:

1檢查專案下的bin資料夾下的檔案是否完整打成jar包的過程實質上是將專案下bin資料夾下的檔案(class檔案,圖片,jar包等檔案)壓縮成jar包。開啟專案的目錄結構你會發現:在src資料夾下有的檔案在bin資料夾下都一個一樣的副本(.java檔案對應的是.class檔案)。
2)、重新整理專案,選擇要打包的專案,右擊滑鼠,選擇refresh。作用是可能更改了的內容沒有及時複製到bin資料夾下。
3)、在專案的目錄下,和src
同級建一個META-INF資料夾,
裡面建立一個METAINF.MF
裡面指定main-class以及程式執行相關的程式碼,

我寫的程式碼是:

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,如下圖:

二、使用exe4j生可執行的.exe檔案

能夠生成.exe檔案的軟體有很多,自己去查一下,我這裡只用 exe4j,先去下載一個exe4j並安裝。假設你的專案已經勝利打包成jar檔案,那麼就可以進行下面的操作了。

首先,在任意目錄建立一個資料夾,最好命名和專案名相同,我在E盤建立了一個“DataStructure”資料夾,之後將所有的資原始檔以及我們生成的可執行jar檔案(我的DataStructure.jar)都拷貝到這個資料夾裡, lib目錄,如果你要使對方計算機在沒有安裝JDK的情況下也能使用該程式,就需要將自己機器上的jre目錄也拷貝進來,我安裝的jre6,最後的目錄結構如下:

1、如果你有儲存過的專案打包配置檔案,那麼點>>open開啟點選next

2 、Project type-選擇打包方式

選擇“jar in exe”

3、 Application info-配置生成的應用程式的資訊

選擇你的應用程式的名稱和將要生成的可執行檔案的輸出資料夾。然後>>next.

4、Executable info -配置可執行檔案的引數

如果只允許生成的exe檔案同時只能開啟一個程式執行,則把 “Allow only a single running instance of the application”這項的選擇鉤上。“Icon File”項表示生成exe檔案後的圖示,選擇一個“.ico”格式的圖片。點選next

5、java invocation-配置執行環境

在class path框下清除原有的class path路徑,點選右側的”+”選擇打包好的jar檔案

(1)、在Archive中選擇要匯入的jar檔案,如下圖:

點選“OK”,結果如下:

(2)、在Main class中選擇入口類,即含有main函式的類。

之後點選next

Main Class設定完成後,依次將所有需要的第三方類(即外部類)加到Class Path下,方法同新增“DataStructure.jar”一樣,點選“Next”

6、jre-配置jre以下(1)、(2)點很重要

MinimumMaximum中分別填寫所允許的最小和最大JDK的版本號。

如果要在這個程式中捆綁jre,則進入Configure search sequence選項:

1)、將Search Windows registry保留,如果沒有該項,請點選綠色,選擇search registry,然後點選OK如下圖;


2)再把其它的所有的directory刪除,特別是如果有JAVA_HOMEJDK_HOME的話一定要刪除,因為他會儲存你本機的JAVA_HOME地址,安裝時會出現路徑找不到的錯誤;

3)、點選綠色來選擇捆綁的JRE位置

選擇剛剛拷貝好的jre如:

  

在preferred VM中選擇一種-選擇虛擬機器型別,我選擇的是 Default VM。

7、接下來沒有什麼特別重要的配置了,可根據需要自己去選一些引數,也可以直接next,next,知道完成。

8、可能出現的問題

生成exe檔案之後可能每次開啟都會出現提示框:this executable was created with an evaluation version of exe4j

這是因為你還沒有註冊exe4j軟體,註冊之後就不會有提示了。網上搜的一個註冊碼:L-g782dn2d-1f1yqxx1rv1sqd

三、將自己編寫的程式製作成能在Windows下安裝的軟體

Inno Setup是一個免費 Windows安裝程式製作軟體,我用的是Inno Setup v5.4.3

方法一:

1、編輯指令碼程式

我的指令碼程式如下:

[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捷方式的命令列檔名,通常用一個目錄常量開頭。

2、編譯

編輯好指令碼程式之後選擇“構建”\“編譯”完成後即可。

 方法二:

選擇"檔案"/"新建",開啟''Inno Setup指令碼嚮導"建立新的指令碼檔案。

   

根據提示一步一步來,這個很單間,我就不多說了。

到此,自己寫的程式及完全包裝好了,宛如一個完整的軟體。“哎,自己簡直就是一個軟體工程師啊!:-D :-D”哈哈……開個玩笑!

歡迎加入"Java夢之隊" 學習群:226159645