簡體   English   中英

如何使Java程序可安裝?

[英]How to make Java program installable?

如何使java程序可以安裝?

我在Eclipse工作區中保存了一個應用程序。

我可以將其導出為.jar文件。

這是一個“真實世界”的應用程序。

如何導出為“.exe”文件或“.dmg”以便可以將其安裝在另一台計算機上?

由於Java是獨立於平台的,我認為這是出口特定操作系統的問題。

我已經google了很多並且閱讀了很多不同的故事,所以我更喜歡有經驗的人的回答。

我想你正在尋找的不僅是讓程序可以運行(如所提出的lobster1234),而是讓它實際上可以安裝。 我們最近使用了IzPack 它實際上看起來不錯。

這里這里的細節也有一些不錯的教程

Jar文件通常是要走的路,因為JVM可以通過java -jar <jarfile>命令直接執行打包的文件。 如果您想從網站等分發您的應用程序,Java WebStart是很好的。但是,即使JVM存在,某些操作系統也沒有安裝該“功能”。 另一個解決方案是至少有3個腳本來啟動你的應用程序(Windows的批處理,Linux的shell腳本,以及Mac需要的任何東西 - 抱歉,沒有Mac - )。

不要創建本機可執行文件(即Windows的exe),它們是多余的,因為你已經擁有了一個JVM。

我在這里冒着火焰,但我是游戲:)除非你已經知道存在JRE的平台(例如OS X),否則對你和/或最終用戶來說將是一件麻煩事。 問題是java應用程序根本不是獨立的,而是依賴於龐大的框架。

必須將JRE,Java Web Start或您使用的任何內容放在目標系統上。 此外,你必須有一個類型的發射器。 它可能像運行java的腳本一樣簡單,提供類路徑等。如果java“編譯”為.exe或其他東西,那就不需要了。但這就是它的工作原理。

這是我關閉將Java部署到最終用戶計算機的原因之一。 這只是一個很麻煩的事情。 我曾經在一個項目中工作,我們實際上嵌入了安裝程序部署的整個私有jre。 它不是很漂亮,但它完成了工作。

從Java 8開始,jdk現在能夠為Windows,OSX和Linux生成自己的Installables。 但是,在Windows上,它取決於Inno Setup 5或更高版本或WiX 3.0或更高版本。

https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1324980

生成自包含應用程序的最簡單方法是修改部署任務。 <fx:deploy width="${javafx.run.width}" height="${javafx.run.height}" nativeBundles="all" outdir="${basedir}/${dist.dir}" outfile="${application.title}"> <fx:application name="${application.title}" mainClass="${javafx.main.class}"/> <fx:resources> <fx:fileset dir="${basedir}/${dist.dir}" includes="*.jar"/> </fx:resources> <fx:info title="${application.title}" vendor="${application.vendor}"/> </fx:deploy>

您可以使用Java WebStart ,或將程序打包為可執行jar文件。

伙計們已經給了你很多選擇,所以我不想再提一下。 這里缺少的唯一選擇是當你真正需要安裝程序時,意味着執行一些邏輯,修改(或至少讀取)系統配置,創建桌面快捷方式,復制許多文件,配置第三方產品(可能是已安裝)等

在這種情況下,您可以使用InstallAnywere,EzPack或類似的解決方案(請參閱http://java-source.net/open-source/installer-generators )例如,如果您的項目相對簡單,我建議您使用AntInstaller。

順便說一下,如果您擔心您的客戶可能沒有在他的機器上安裝JRE,您可以使用Launch4J打包您的代碼(或者更好的加載器),它可以從您的Java代碼生成可執行文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM