本文介紹了將.jar轉(zhuǎn)換為適用于Windows、Linux和Mac的應(yīng)用程序的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我用Eclipse制作了一個(gè)Java應(yīng)用程序(在*.jar中導(dǎo)出),我想將它導(dǎo)出到Windows(.exe)、Linux(.?)和MAC(.?)。我沒有任何Linux或MAC機(jī)器,所以我不知道每個(gè)機(jī)器都需要什么擴(kuò)展文件。所以我有幾個(gè)問題:
對于Windows,我使用Launch4j創(chuàng)建了我的*.exe文件,但是否有用于MAC和Linux的同等文件?
我的應(yīng)用程序?qū)⑦x項(xiàng)保存到Windows注冊表中(我使用了”JavaRegisrtyWrapper“庫)。是否有用于MAC和Linux的”注冊表”(以及如何在那里讀/寫信息)?
當(dāng)用戶嘗試在下載后啟動*.exe文件時(shí),是否可以避免出現(xiàn)Windows警告”未知發(fā)布者”?(我會在MAC和Linux上遇到同樣的問題嗎?)我嘗試創(chuàng)建自己的證書,并使用”signtool.exe”對文件進(jìn)行簽名,但不起作用。
謝謝!
編輯:在將*.jar文件轉(zhuǎn)換為任何其他格式之前,我必須修改代碼以獲取用戶的操作系統(tǒng),并針對每種情況修改”Documents”文件夾。我認(rèn)為os.name
可以滿足第一個(gè)請求,但我可以將user.home + "Documents"
用于Windows、Linux和Mac(如果此文件夾存在…)嗎?
推薦答案
運(yùn)行JAR應(yīng)用程序的腳本
在Linux和Mac OS上,您可以創(chuàng)建運(yùn)行.jar文件的bash腳本:
#!/bin/bash
java -jar application.jar
基于Unix的系統(tǒng)上的Windows注冊表等效項(xiàng)
在Linux和Mac OS上沒有對應(yīng)的Windows注冊表。您可以將您的配置存儲在文本文件中。計(jì)算機(jī)特定的配置通常存儲在/etc目錄樹中。
這里有一個(gè)類似的超級用戶問題:https://superuser.com/questions/295635/linux-equivalent-of-windows-registry
簽署Windows EXE文件
若要對Windows exe文件進(jìn)行簽名,可以嘗試使用Microsoft’s Sign Tool。
這里有一個(gè)類似的堆棧溢出問題:Signing a Windows EXE file
這篇關(guān)于將.jar轉(zhuǎn)換為適用于Windows、Linux和Mac的應(yīng)用程序的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,