Bundle 将JRE与应用程序绑定?
我一直在讨论是否将JRE与我的应用程序捆绑在一起。我在下面列出了一些我认为它会有用的原因,但我也很犹豫是否这样做,因为它会使应用程序更大 我认为它有用的原因:Bundle 将JRE与应用程序绑定?,bundle,java,Bundle,Java,我一直在讨论是否将JRE与我的应用程序捆绑在一起。我在下面列出了一些我认为它会有用的原因,但我也很犹豫是否这样做,因为它会使应用程序更大 我认为它有用的原因: 现在,应用程序是通过运行批处理文件运行的(好吧,是批处理文件的快捷方式,它是通过批处理文件运行的)。它只调用java-jarxxx,这要求java位于路径中,但情况并非总是如此 我们是一个小团队,没有完全在Java7上运行(我们仍在尝试调试一些奇怪的错误)。如果用户有Java7,他们可能会有不愉快的软件体验——这对我们不好。打包一个特定版
java-jarxxx
,这要求java位于路径中,但情况并非总是如此所以,“捆绑JRE是个坏主意”。改用WebStart。我建议不要捆绑JRE,尽管我经常认为这是一种常见做法 相反,我要么使用webstart(也可以脱机使用),要么使用其他安装程序或Pacake manager解决方案,确保安装了Java,包括正确的版本。这在很大程度上取决于您希望运行的操作系统 在包含Java的过程中,会遇到这样一个问题:您还想包含什么,只是为了确保。。。这将引导您了解整个操作系统以及最终需要考虑的所有内容
我还建议仔细调查哪些类型的用户将安装该应用程序并适应它,并对他们的能力做出某种估计。你的应用程序不能有两个版本吗?一个捆绑了JRE,另一个没有,让用户决定下载哪一个?@Ivan这当然是可能的。考虑到用户一开始甚至没有安装系统范围的JRE的可能性。在这种情况下,我们可以设置一个设置逻辑,如果缺少系统范围的JRE,则该逻辑将绑定JRE,另外还可以设置一个选项,在32位和64位之间选择JRE。如果存在系统范围的JRE,则可以使用本地到应用程序JRE来避免替换系统范围的JRE。如果从JRE中删除任何不需要的内容,则可以将其减小到10MB。在这种情况下,用户有时也没有互联网连接。应用程序会给他们一张CD。@ManfredMoser JWS的“离线”功能只有在从命令行(或通过
进程调用)调用时才起作用。JWS应用程序。无法从CD上的链接启动,因为无法确定提前指定代码库的方法。我认为webstart在这里不是一个真正的选项。用户实际上只是在寻找一个可以运行的安装程序(就像其他本地应用程序一样)。单击它,它就可以运行(如果操作正确)。至于“就像其他应用程序一样”。你能用任何形式的证据证明这一点吗(一个典型的用户甚至可以分辨出其中的区别)?我的经验是,用户随波逐流,是开发人员陷入了旧时代(或者认为用户是旧时代)。好吧,公平点。我没有太多的网站经验。但是如果他们的机器上没有安装Java,JavaWebstart真的会对我有好处吗?