2012-04-17 64 views
4

我有這個使用MySql數據庫的Java應用程序,我想分發這個應用程序。我擔心的是,爲了分發這個應用程序,我需要假設目標系統同時安裝了JRE和MySql Server。正確地將Java應用程序與數據庫分發

有什麼辦法可以將我的應用程序與JRE和MySql服務器捆綁在一起,以便如果它們不在系統中,我的應用程序可以安裝它們並運行應用程序?

+0

你應該看看像廚師或木偶這樣的工具。他們可以確保您的應用程序的先決條件存在(如果不是,則安裝它)。 – 2012-04-17 11:20:51

+1

你在說什麼操作系統?例如大多數當前的GNU/Linux發行版都有一個軟件包管理器。其中大部分將具有適用於MySQL和Java運行時的軟件包,以及安裝它們的具體方式,具體取決於分發。 – ArjunShankar 2012-04-17 11:29:25

+0

做的應用程序。有一個GUI? – 2012-04-17 11:31:56

回答

3

你可以捆綁一個JRE與Java應用程序,只要你遵循一定的條件。 (如果我沒有記錯,這是由您在下載JRE時同意的標準Sun/Oracle許可證涵蓋的,我認爲該短語是「二進制分發」或「二進制再分發」)。

我剛查過,記憶是對的。請參閱"Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX"的補充許可條款部分。 (C段最直接適用於你的場景。)正如我上面所說的,條件適用。

結束時更新

我不相信你被允許捆綁的MySQL的免費版本。


就個人而言,我會建議不要做這行的Java,因爲:

  1. 它膨脹的分配的大小。
  2. 它用額外的JRE副本填充用戶的光盤。
  3. 如果需要修補用戶(無意中)安裝的捆綁JRE,則會出現問題。
  4. 您正在使(複雜)用戶難以選擇使用哪個版本的Java。
+0

你確定關於'JRE'嗎?從某些經驗來看,我已經不太好了。至少在Oracle進入圖片 – Cratylus 2012-04-17 11:29:01

+0

之後,我同意用3個筆記。我已經看到了這些問題並且是真實的。 +1提及這些 – Cratylus 2012-04-17 11:31:06

+0

如果我已選擇安裝JRE(如果沒有JRE),該怎麼辦?這不會導致額外的複製問題? – 2012-04-17 11:41:38

6

不,您不應該將它們捆綁在一起,並將它們作爲安裝的一部分,因爲許可。
這適用於Oracle JRE和MySQL。

@Stephen C評論後更新。
似乎可以在某些情況下重新分配JRE。儘管由於斯蒂芬C答案中解釋的原因,但它仍然是illadviced。我看到這些問題在實踐中出現。
末更新

我不知道什麼是「最安全的」路徑(最安全相關的許可問題)。
也許這將下載它們,當場爲所需的組件部分的安裝程序是ok.Friends這裏可以糾正我,如果我錯了,在這個

+1

非常真實,我強烈支持這個答案,但是您可以使用檢測腳本檢測系統中是否安裝了JRE和MySQL,並在未安裝JRE和MySQL的情況下將其重定向到網站。 – AurA 2012-04-17 11:24:27

+0

所以對我來說最好的選擇是掃描系統,找不到jre或mysql只是提示用戶下載一個?沒有其他選擇? – 2012-04-17 11:24:47

+0

@AuuragRamdasan:是的,支持用戶。這是安裝中常見的「功能」。如果你的應用程序不是商業應用,你應該仔細研究MySQL和JRE的所有許可細節。注意許可費用很高 – Cratylus 2012-04-17 11:27:25