簡體   English   中英

將JRE與應用程序捆綁在一起?

[英]Bundling a JRE with an application?

我一直在爭論是否將JRE與我的應用程序捆綁在一起。 我在下面列舉了一些原因,為什么我認為它會有用,但我也猶豫不決,因為它使應用程序更大。

為什么我認為它會有用:

  1. 現在,通過運行批處理文件來運行應用程序(好吧,批處理文件的快捷方式,它通過批處理文件運行)。 它只是調用java -jar XXX ,它需要Java在路徑中,但情況並非總是如此。

  2. 我們是一個小團隊,並沒有完全在Java 7上運行(我們正在嘗試調試一些奇怪的錯誤)。 如果用戶使用Java 7,他們可能會遇到令人不快的軟件體驗 - 這對我們不利。 打包特定版本的JRE確保我們對其進行了全面測試。

  3. 我們支持32位和64位Windows平台。 當用戶下載軟件時,他們選擇32位或64位,但這是在詢問他們使用的是哪個版本的Java。 大多數用戶不知道他們的64位平台上是否安裝了32位Java,即使他們的操作系統是64位,下載32位也會讓人感到困惑。

有一些很好的理由為什么不打包它:

  1. 如果Java中存在安全漏洞或者對JRE進行了其他重要更新,我們需要使用新的Java版本分發新版本的應用程序。 我們通常每兩周更新一次我們的應用程序,所以我現在不太關心這個。

  2. 該應用程序現在將更大,因為它包括一個打包的JRE。

任何人都可以提供一些指導(根據這些要求)他們認為打包JRE是一個好主意嗎? 如果沒有,那么只是希望java在路徑中有什么替代方案(更重要的是,如果不是這樣,我們的用戶可能不知道如何添加它)。

  1. Java Web Start JRE將走上正軌。
  2. 對於版本控制,請參閱Java Web Start - 運行時版本控制 ,特別是早期版本
  3. JWS可以在64位和32位JRE之間划分資源。

所以,“捆綁JRE的壞主意”。 請改用web-start。

我建議不要捆綁JRE,盡管我經常將其視為常見做法。

相反,我要么使用webstart(也可以脫機使用)或其他安裝程序或pacakge管理器解決方案,以確保安裝Java,包括正確的版本。 這將在很大程度上取決於您希望運行的操作系統。

繼續包含Java的方式引發了一個問題,你想要包含什么,只是為了確保......這將引導你進入整個操作系統,並且最終需要考慮所需的一切。

我還建議仔細研究哪些類型的用戶將安裝該應用程序並對其進行調整,並對其能力進行某種程度的估計。

暫無
暫無

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

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