1. 程式人生 > >java桌面程式從打包到安裝的全過程

java桌面程式從打包到安裝的全過程

1、整個專案可以跑動,能夠在自己電腦上執行,在這裡我將關於瀏覽器解決activityX外掛的問題進行綜合闡述

背景:由於html5的出現,導致谷歌瀏覽器不再支援activityX這個外掛,從而來支援h5的功能,來適應手機,手機上不可能安裝外掛,為了解決印表機和讀取電子秤的重量讀數問題,在公司老闆的指導下,完成這個小應用,並且需要做到能安裝到電腦上,並能指定印表機進行列印,同時讀取串列埠資料,列印的功能主要是有pdfbox做的,整個服務是由netty做的,至於為什麼用netty,在下不得而知,只知道他是高效能的伺服器和客戶端。

功能:能夠連線到瀏覽器上進行印表機的設定和讀取串列埠資料,同時開機啟動,並且開機隱藏最小化,任務托盤,所有的都是由java開發,托盤使用swt進行開發

2、開發整個應用,並打包,這裡主要講如何進行打包,併成功安裝在一臺沒有任何配置的電腦中

3、

首先我們分析一下專案結構,win32com.dll檔案是一個關於讀取串列埠資料的dll檔案,如果沒有這個檔案,安裝到別人電腦上是不會有任何串列埠讀出來的,具體可以看http://blog.csdn.net/zhutulang/article/details/6876676 如何實現的


在這裡我將這個檔案直接拷貝到專案裡面去了(採用前面提到的另一種方式後問題就會顯得很麻煩),在上面的層級結構中出現,如果沒有拷貝那麼做出來的軟體將不能運用到任何電腦上,至於其他兩個檔案自己電腦開發需要進行配置,另外MANIFST.MF 檔案是關於專案中所使用第三方jar包的路徑,

在寫路徑的時候前面必須打空格,換行的時候也必須打空格,兩個包之間也是由空格隔開,如果專案中沒有寫這個檔案(自己要手動加上去否則),自己電腦上執行可以,但是別人電腦上不行,Main-Class中寫關於main方法的類,其他的.bat檔案是關於window批處理檔案,用來往登錄檔中進行寫開機啟動項的。

4,開始進行匯出 ,專案右鍵後有關於export,點選進入


在這裡有必要解釋一下,JAR file和Runable JAR file的區別,前者是關於不可執行的jar包,後者是可以直接用java進行執行的jar包,匯出這樣的jar包之後,我們可以利用cmd命令進行輸出執行過程,看到執行過程中的錯誤顯示,可以根據錯誤提示進行修改 點選next


在launch configuration中選擇啟動的檔案類,在下面選擇輸出檔案位置,點選完成生成,可能會遇到錯誤,直接OK,生成了一個IOClient.jar的檔案在桌面上

至此匯出部分完成


匯出完成後需要把jar包進行打包做成可安裝的程式,這裡使用的軟體是exe4j這個軟體,首先這個軟體需要註冊,如果不註冊打包後的安裝程式可能會提示出現未註冊的情況,至於怎麼註冊,直接百度註冊資訊,找一個序列號就好了

1、開啟後介面如圖所示(強烈建議將所需要的檔案放到一個資料夾中,這樣不會有錯誤出現,如下圖



其中open 和Reopen 是如果你以前曾經打包過這個安裝包那麼直接開啟就行了,如果沒有就一步一步的next往下


這有解釋一下這兩種方式的不同之處,第一種方式是傳統的模式,我們可以直接更換jar就可以直接更換掉整個軟體,但是不夠安全,第二種模式相對安全,這裡我們採用第一種方式點選next


其中一個是應用的名字,另外一個是輸出的路徑 next


next


將自己在前面匯出的jar包新增進來--OK

在Man class 中,將jar包中的入口類新增進去 next

新增所需jre的最小版本和最大版本

點選下拉里面的search sequence

將這三個移除,新增自己所需的jre版本 


next

next


完成後可點選測試是否成功

至此生成可執行的exe檔案結束

接下來是將生成的exe檔案和jre打包為一個檔案進行安裝到客戶端(使用軟體Inono setup compiler)

(將所有的檔案放到一個資料夾中,這樣安裝後的檔案層級結構很明顯)

一直next,知道如下輸出檔案路徑

在輸出路徑下面有一個關於桌面圖示的,直接選擇圖示就可以改變安裝程式的圖示

然後編譯,至於包不儲存就看你了,至此所有完成