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