2015-08-08 26 views
1

我已經創建了一個使用GUI的小型Java應用程序,並且我的一些有Windows的朋友要求我將它發送給他們。我想避免他們儘可能多的安裝等步驟,所以我想知道哪個是最好的方法。生成將在Windows上運行的便攜式.exe文件(來自.jar)

因此,我從NetBeans構建了.jar,當我運行它時,它完美地工作。從那裏開始,我試圖爲Windows生成一個可移植的.exe文件,我可以發送它們,並且它們可以在沒有任何先前步驟的情況下打開(只要它們具有JRE)。所以我下載了JSmooth,Jar2Exe和Launch4j,並且所有這些都生成了一個.exe文件,但是隻要我改變它的位置,它就不再工作了,所以我沒有看到.jar文件的優點。

所以我想知道的是:有沒有什麼方法可以將所有東西一起包裝到一個.exe中,它總是在Windows中工作,無論它在哪裏?

萬一它很重要:項目使用添加的庫JLayer(對於Mp3)。

謝謝!

P.S .:我是一個全面的編程和計算機的新手,所以請耐心等待,不要理所當然。

+0

有幾個exe包裝可用,我個人使用exe4j,但是商業,但在我需要時,是唯一可用的64位包裝。您也可以使用許多安裝程序包之一,如izpack。有些甚至還提供了安裝JVM的能力,但我已經習慣於將我希望人們使用的JVM包含在我的程序中;) – MadProgrammer

+1

「但只要我更改它的位置,它就不起作用任何更長時間「, - 不,他們工作 - 你錯過了別的東西。不知道從問題,雖然.. – Jayan

+0

我的意思是,當我從最初創建的文件夾運行生成的.exe文件,它的工作原理,但只要我改變它的位置(例如,通過將其複製到另一個文件夾或拖動它到桌面)我點擊圖標,沒有任何反應,.exe不會啓動應用程序。我希望現在很清楚。也許我缺少在生成exe文件之前在exe文件的選項中設置一些東西。 –

回答

1

您可以使用Launch4j。在我的應用程序中,我只是創建一個啓動器。這是一個小的.exe文件來啓動jar文件。這樣,每次我有一個新的jar文件時,我不必創建.exe文件。我只是重命名jar文件,以便它匹配.exe文件中設置的內容。我把exe和jar文件放在同一個文件夾中。只要jar執行對依賴和庫沒有問題,運行exe文件也沒有問題。

+0

這就是我認爲我的包裝爲我做的事情,因爲只要我將.exe和.jar在單獨的文件夾中.exe不能再啓動該應用程序。但不僅如此:現在你提到它,在與jar文件(/ dist)相同的文件夾中有一個帶有庫(/ lib)的文件夾,所以看起來我並沒有成功將我的外部庫打包在.jar文件與IDE。一旦我這樣做,我會再試一次。謝謝! –