平臺細節
但是,為了滿足用戶在某些平臺上的期望,也需要提供其他格式的可選軟件包。
最大的示例是Mac OSX。該平臺的程序作為應用程序包分發,這些程序包是帶有.app后綴的目錄,具有特殊的結構,以便包括啟動選項,操作系統的元數據,圖標和其他資源。在此平臺上,程序從不提供“安裝程序”。每個應用程序包通常都包含應用程序所需的所有內容,并且可以像jar文件一樣在系統上自由移動或復制。Finder(Mac OS X文件管理器)將應用程序包作為單個實體處理。因此,事實是存在將Java應用程序打包為包的標準方法(使用每個OS X系統提供的JavaApplicationStub),并且SWT應用程序需要將Mac特定的命令行選項-XstartOnFirstThread傳遞給Java運行時,使用普通的jar文件是不可能的,因此決定將Angry IP Scanner分發為該OS的壓縮應用程序包。生成了build.gradle腳本來自動構建包。
另一方面,Linux系統具有非常好的標準化打包和依賴管理系統(.rpm或.deb),每個發行版都提供了非常方便的使用方法。最好也提供這些文件,從而可以使用OS程序數據庫安裝Angry IP Scanner。將來,可能會在最流行的Linux發行版(Fedora,Ubuntu,Gentoo)的官方存儲庫中包含Angry IP Scanner,以便利用依賴管理并鏈接到單獨包裝的SWT庫。另一個選擇是使用GNU Java編譯器(GCJ)將整個程序編譯為本機代碼,就像大多數發行版使用Eclipse和其他流行的Java程序一樣。
由于Windows操作系統中缺少標準的打包和應用程序管理系統,因此Windows應用程序通常提供不同的安裝程序,這些程序可以在運行應用程序之前復制文件并在系統中進行必要的更改。Angry IP Scanner永遠不需要這種安裝,但是在將來,它可能會通過詢問用戶是否要在第一次運行時提供與快捷方式相同的復制和創建。
IPScan中文使用方法文檔
推薦文章: