4

配布したいMySqlデータベースを使用するこのJavaアプリケーションがあります。私の懸念は、このアプリケーションを配布するには、ターゲットシステムにJREとMySqlServerの両方がインストールされていることを前提とする必要があるということです。

アプリケーションをJREおよびMySqlサーバーにバンドルして、それらがまだシステムに存在しない場合に、アプリがそれらをインストールしてからアプリケーションを実行できるようにする方法はありますか?

4

2 に答える 2

6

いいえ、ライセンスのために、それらをバンドルしてインストールの一部として提供するべきではありません。
これは、OracleJREとMySQLの両方に適用されます。

@StephenCコメントの後に更新します。
特定の状況でJREを再配布することは可能であるように思われますが、Stephen Cの回答で説明されている理由により、JREは無効になっています。私はこれらの問題が実際に発生するのを見てきました。
更新を終了

「最も安全な」パス(ライセンスの問題に関連して最も安全なパス)が何であるかわかりません。
おそらく、必要なコンポーネントの一部としてその場でそれらをダウンロードするインストーラーは大丈夫です。私がこれについて間違っている場合は、ここの友人が私を修正することができます

于 2012-04-17T11:22:28.023 に答える
3

特定の条件に従う場合は、JREをJavaアプリケーションにバンドルできます。(私が正しく思い出せば、これはJREをダウンロードするときに同意する標準のSun / Oracleライセンスでカバーされます。このフレーズは「バイナリ配布」または「バイナリ再配布」だと思います。)

アップデート

確認したところ、記憶は正しいです。「JavaSEプラットフォーム製品およびJavaFXのOracleバイナリコードライセンス契約」の「補足ライセンス条項」セクションを参照してください。(段落Cは、シナリオに最も直接的に適用できます。)そして、上で述べたように、条件が適用されます。

更新を終了

MySQLの無料バージョンをバンドルすることが許可されているとは思いません。


個人的には、Javaでこれを行うのはお勧めしません。理由は次のとおりです。

  1. それはあなたの配布可能なサイズを膨らませます。
  2. ユーザーのディスクにJREの余分なコピーがいっぱいになります。
  3. ユーザーが(無意識のうちに)インストールしたバンドルされたJREにパッチを適用する必要が生じた場合に問題が発生します。
  4. (洗練された)ユーザーが使用するJavaのバージョンを選択するのを難しくしています。
于 2012-04-17T11:26:47.780 に答える