4

我有这个 Java 应用程序,它使用我想要分发的 MySql 数据库。我担心的是,为了分发这个应用程序,我需要假设目标系统同时安装了 JRE 和 MySql Server。

有什么方法可以将我的应用程序与 JRE 和 MySql 服务器捆绑在一起,以便如果它们尚未出现在系统上,我的应用程序可以安装它们然后运行应用程序?

4

2 回答 2

6

不,由于许可,您不应该捆绑它们并将它们作为安装的一部分提供。
这适用于 Oracle JRE 和 MySQL。

在@Stephen C 发表评论后更新。
在某些情况下,似乎可以重新分配 JRE。尽管出于 Stephen C 回答中解释的原因,这是不明智的。我已经看到这些问题在实践中出现。
结束更新

我不确定什么是“最安全”的路径(与许可问题相关的最安全)。
也许安装程序将它们作为所需组件的一部分当场下载是可以的。如果我在这方面错了,这里的朋友可以纠正我

于 2012-04-17T11:22:28.023 回答
3

只要您遵循某些条件,您就可以将 JRE 与 Java 应用程序捆绑在一起。(如果我没记错的话,这包含在您下载 JRE 时同意的标准 Sun/Oracle 许可证中。我认为该短语是“二进制分发”或“二进制重新分发”。)

更新

我刚刚查了一下,我的记忆是正确的。请参阅“Java SE 平台产品和 JavaFX 的 Oracle 二进制代码许可协议”的补充许可条款部分。(C 段最直接适用于您的场景。)正如我上面所说,条件适用。

结束更新

我不相信你被允许捆绑免费版本的 MySQL。


就个人而言,我建议 AGAINST 对 Java 执行此操作,因为:

  1. 它夸大了可分发的大小。
  2. 它用额外的 JRE 副本填充用户的光盘。
  3. 如果需要修补用户(无意中)安装的捆绑 JRE,则会出现问题。
  4. 您让(老练的)用户难以选择要使用的 Java 版本。
于 2012-04-17T11:26:47.780 回答