[英]How can I create a completely portable exe from a Java project?
My goal is simply to take my Java project (JDK 11, Javafx, non-modular, using Gradle in Intellij) and package into a single exe file. 用戶無需安裝程序,無需 JRE。 有各種打包和 exe 創建工具,但我還沒有讓一個按我想要的方式工作。
起初我嘗試了 javapackager 但 Inno Setup 一直出錯。 然后我設法讓launch4j工作,但我不久前發現其中沒有嵌入式JRE,所以它無法在沒有Java的計算機上運行。 我還研究了 jPackage,但據我所知,它只創建安裝程序,而且我在設置它時也遇到了麻煩。 我最終循環回到 javapackager 並建議使用 Inno Setup 5 而不是 6,這很有效,但結果是安裝程序,似乎也沒有選項(至少默認情況下)
我想要實現的目標是不可能的,即使在我看來它應該是這樣嗎? 如果是這樣,我能達到的最接近的可能是什么? 最重要的是,用戶不必擔心安裝了 Java,rest 我可能可以使用的東西
這對我有用:首先,將您的項目提取到.jar
- 在 IntelliJ 中,您將build
一個artifact
。 當你得到這個.jar
文件時,我可以推薦以下內容:
folder
,您可以在其中執行所有這些步驟,從而使一切變得整潔。project JRE
.exe
的圖標現在將.exe
的圖標以及 JRE 的bin
和lib
文件夾復制到另一個文件夾中,例如文件夾 (1) 中的“jre”。
結構應如下所示:Folder->{icon.ico, jre ->{bin, lib}, yourProjectJar.jar}
完成后,下載launch4j 並運行它。 在那里(在 Basic 下),必須選擇帶有.exe
擴展名的 output 文件,並選擇放置項目 jre 的bin
和lib
文件夾的文件夾。 非強制性是為您的.exe
選擇一個圖標 - 您也可以在 Basic-Tab 下找到它。
最后一個強制性步驟是將 go 插入 JRE-Tab 並插入絕對路徑,例如名為“jre”的文件夾,其中項目 jre 的bin
和lib
文件夾用於“捆綁的 JRE 路徑”。 然后選擇您的 Min JRE 版本(同樣,在 JRE-Tab 中)並確保將右側的下拉菜單設置為“僅使用私有 JDK 運行時”。
最后,單擊“Build Wrapper”(它是從左側看的第四個符號),在為您的 Manifest 選擇一個位置之后,您應該擁有它。
問候,JC
PS:這應該為您提供一個帶有項目JRE
的.exe
,因此可以在任何系統上運行。 恭喜。 與其他一些語言相比,您剛剛使用了 Java 的優勢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.