使用数据库正确分发Java应用程序

时间:2012-04-17 11:17:56

标签: mysql distribution java

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

有什么方法可以将我的应用程序与JRE和MySql服务器捆绑在一起,这样如果它们不在系统中,我的应用程序可以安装它们然后运行应用程序吗?

2 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:3)

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

<强>更新

我刚检查过,我的记忆是正确的。请参阅"Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX"的补充许可条款部分。 (C段最直接适用于您的场景。)正如我上面所述,条件适用。

END UPDATE

我不相信您可以捆绑MySQL的免费版本。


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

  1. 它会扩大您的可分发的大小。
  2. 它使用JRE的额外副本填充用户的光盘。
  3. 如果需要修补用户(无意中)安装的捆绑JRE,则会出现问题。
  4. 您使(复杂的)用户难以选择要使用的Java版本。