我創建了我的軟件(這是一個Java swing應用程序)的.exe文件。但.exe文件僅在安裝了JVM的計算機上運行。我想在沒有安裝JVM的計算機上運行它。我該如何做到這一點?在沒有JVM的機器上運行Java應用程序
回答
您需要一個JVM來運行Java。沒有得到解決。
沒有安裝JRE的用戶必須獲得一個。不要將它與JDK混淆。他們不需要所有的開發工具,只需運行時引擎。
某些應用程序會爲應用程序分發JRE(例如SoapUI)。這使得下載次數增加了很多,而且體系結構也有所不同,但可以確保它可以用完。在這種情況下,您可能希望提供兩個或更多下載,其中一些不包含JRE。 – 2011-04-04 18:47:42
對於窗戶也有一些。exe jar包裝程序,它會將你的jar嵌入到一個本地二進制文件中,該二進制文件檢查已安裝的JVM並提示用戶從Sun(oracle)下載並安裝(如果不存在)。有點像.Net應用程序如果不存在,可以提示用戶安裝.Net庫。雖然我沒有很長時間看過這些內容,但是我沒有很好的建議,或者這已經不合時宜了。我只記得在擺動的早期這種行爲是一個常見的功能要求。 – Jberg 2011-04-04 19:13:01
我不知道你用什麼應用包裝罐作爲一個exe,但我建議你使用Launch4j這是誰可以檢查用戶是否嘗試執行之前已經安裝了JRE/JDK的包裝應用程序,如果它沒有,它會顯示一條消息,並打開瀏覽器下載Java。
- 使用deployJava.js可幫助確保用戶擁有運行該應用所需的Java最低版本。
- 啓動應用程序。使用Java Web Start。
這應該適用於可用Java的系統(即不僅僅是Windows)。
如果你真的想這樣做,給GCJ看看。不過請記住AWT/Swing的支持,其中很多其他的東西已經死了。
即使你不會在語言功能方面失去任何東西,你去提前暴跌停下來想一想,如果這是你真正需要的東西了。絕大多數用戶擁有Java,並且通過使用GCJ編譯機器代碼,您錯過了所有潛在的熱點優化,在很多情況下創建了更大的腳印並且失去了跨平臺兼容性。
這是完全可以接受的分發一個jar文件,然後引導你的用戶下載JDK,如果他們還沒有準備好,除非你正在做一些非常專業的它就是我想要在這種情況下建議。
無論如何,您都需要以任何方式以您的應用程序運送JVM。那麼爲什麼不將JRE包含到安裝包中呢?
另一種選擇是創建一個安裝程序,如果沒有安裝從網上自動下載JRE。例如,您可能想查看本指南http://nsis.sourceforge.net/Java_Launcher_with_automatic_JRE_installation(但如果您不熟悉NSIS,請首先閱讀它)。
- 1. 如何運行java應用程序,如果它沒有JVM
- 2. 運行在EC2上的Java應用程序的JVM指標
- 3. 我的應用程序沒有在我的手機上運行?
- 4. 在Cloudbees中的JVM運行時容器中運行標準Java應用程序
- 5. 同時運行在同一個JVM上運行的java程序?
- 6. Java:如何使jvm和http monitor在同一臺機器上運行在外部的應用程序安全?
- 7. 從Intellij在遠程主機上部署/運行jvm應用程序
- 8. JVM在iOS應用程序中運行Android應用程序?
- 9. 在互聯網上運行的主機java web應用程序
- 10. 在一臺機器上運行的Android程序沒有在另一臺機器上運行
- 11. Java:在運行全屏應用程序時使用機器人
- 12. java測試 - 在另一個linux機器上運行一個java應用程序
- 13. 在Linux機器上從Windows上運行GTK +應用程序
- 14. Java應用程序服務器和JVM
- 15. 有沒有辦法使用C++在Java手機上運行程序?
- 16. 應用程序在仿真器上運行,但在手機上停止運行
- 17. 如何在Tomcat上運行的Web應用程序的JVM參數在Linux機器上
- 18. 打包Java應用程序。 w/DB在客戶機上運行
- 19. C#應用程序不在不同的機器上運行
- 20. 在未安裝的機器上運行Cocoa Pods應用程序
- 21. .Net應用程序部署:僅在我的機器上運行
- 22. 在交換機/路由器上運行用戶應用程序?
- 23. 多進程Java程序是在運行JVM的實際機器上下文中的單個進程嗎?
- 24. iOS應用程序運行良好但模擬器上沒有
- 25. 運行Web應用程序在本地(脫機)沒有IIS
- 26. 如何從java應用程序運行遠程機器上的Perl腳本?
- 27. 在服務器上運行java應用程序的錯誤
- 28. 應用程序在4.2上運行良好,但沒有在4.3.3上運行 - iphone
- 29. 有沒有辦法獲得在JVM中運行的所有Spring應用程序上下文的列表?
- 30. 作爲Web應用程序在Web服務器上運行Java應用程序?
「我終於創建了我的軟件的exe文件(在Java中的波動),但這個exe文件上haveJVM安裝這些計算機只在運行。」你可以運行在Mac上這個「EXE」。 &* nix包含Java?!?順便說一句 - 這些詞是'Java'和'Swing',請注意上限。和兩個單詞的非複數(奇點)。 – 2011-04-04 18:23:16
如果您的安裝程序安裝程序設計未選擇可選的JRE下載支持,您可以在應用程序安裝程序(Launch4J,NSIS,InnoSetup,IzPack可以幫助您)中捆綁JRE JVM運行時並使其從捆綁的JRE JVM運行時文件夾運行。除此之外,如果Internet在客戶端可用,則可以使用Java Web Start方法,前提是應用程序託管服務器已準備就緒。 – eee 2011-04-05 02:33:30