2012-04-17 67 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

相关问题