2011-04-04 55 views
5

我創建了我的軟件(這是一個Java swing應用程序)的.exe文件。但.exe文件僅在安裝了JVM的計算機上運行。我想在沒有安裝JVM的計算機上運行它。我該如何做到這一點?在沒有JVM的機器上運行Java應用程序

+0

「我終於創建了我的軟件的exe文件(在Java中的波動),但這個exe文件上haveJVM安裝這些計算機只在運行。」你可以運行在Mac上這個「EXE」。 &* nix包含Java?!?順便說一句 - 這些詞是'Java'和'Swing',請注意上限。和兩個單詞的非複數(奇點)。 – 2011-04-04 18:23:16

+0

如果您的安裝程序安裝程序設計未選擇可選的JRE下載支持,您可以在應用程序安裝程序(Launch4J,NSIS,InnoSetup,IzPack可以幫助您)中捆綁JRE JVM運行時並使其從捆綁的JRE JVM運行時文件夾運行。除此之外,如果Internet在客戶端可用,則可以使用Java Web Start方法,前提是應用程序託管服務器已準備就緒。 – eee 2011-04-05 02:33:30

回答

11

您需要一個JVM來運行Java。沒有得到解決。

沒有安裝JRE的用戶必須獲得一個。不要將它與JDK混淆。他們不需要所有的開發工具,只需運行時引擎。

+0

某些應用程序會爲應用程序分發JRE(例如SoapUI)。這使得下載次數增加了很多,而且體系結構也有所不同,但可以確保它可以用完。在這種情況下,您可能希望提供兩個或更多下載,其中一些不包含JRE。 – 2011-04-04 18:47:42

+1

對於窗戶也有一些。exe jar包裝程序,它會將你的jar嵌入到一個本地二進制文件中,該二進制文件檢查已安裝的JVM並提示用戶從Sun(oracle)下載並安裝(如果不存在)。有點像.Net應用程序如果不存在,可以提示用戶安裝.Net庫。雖然我沒有很長時間看過這些內容,但是我沒有很好的建議,或者這已經不合時宜了。我只記得在擺動的早期這種行爲是一個常見的功能要求。 – Jberg 2011-04-04 19:13:01

2

我不知道你用什麼應用包裝罐作爲一個exe,但我建議你使用Launch4j這是誰可以檢查用戶是否嘗試執行之前已經安裝了JRE/JDK的包裝應用程序,如果它沒有,它會顯示一條消息,並打開瀏覽器下載Java。

0
  1. 使用deployJava.js可幫助確保用戶擁有運行該應用所需的Java最低版本。
  2. 啓動應用程序。使用Java Web Start

這應該適用於可用Java的系統(即不僅僅是Windows)。

0

如果你真的想這樣做,給GCJ看看。不過請記住AWT/Swing的支持,其中很多其他的東西已經死了。

即使你不會在語言功能方面失去任何東西,你去提前暴跌停下來想一想,如果這是你真正需要的東西了。絕大多數用戶擁有Java,並且通過使用GCJ編譯機器代碼,您錯過了所有潛在的熱點優化,在很多情況下創建了更大的腳印並且失去了跨平臺兼容性。

這是完全可以接受的分發一個jar文件,然後引導你的用戶下載JDK,如果他們還沒有準備好,除非你正在做一些非常專業的它就是我想要在這種情況下建議。

相關問題