如何分发Java应用程序

Ada*_*dam 6 java jvm cross-platform jar distribution

我想知道分发Java应用程序的各种选项.

我知道你可以

  • 分发源代码并让用户自己编译,或提供make文件等.
  • 将其打包到JAR中,并具有自解压档案
  • (我确定,无数其他方式)

我希望对最常见的选项(以及我没有想到的)有一些解释,特别是,他们是否需要用户拥有JVM,或者可以将其捆绑在一起 - 我个人也不是喜欢由于缺少JVM而停止的安装程序.谁说应用需要安装人员,独立解决方案也很好.

另外,值得一提的是如何处理跨平台分发,exe与vs dmg等...

我对这个问题的主要动机(我欣赏它与其他人类似)是找到不需要用户安装JVM的解决方案 - 但为了完整性,我一般都会问.

非常感谢

Sea*_*oyd 5

分发源代码并让用户自己编译,或提供make文件等.

对于开源项目来说这可能是好的,但对于任何商业项目都是非常不寻常的 我建议将它作为技术人员的选项,但也分发JAR

将其打包成JAR

我称之为最佳做法

并自我提取档案

如何使jar可执行

我希望对最常见的选项(以及我没有想到的)有一些解释,特别是,他们是否需要用户拥有JVM,或者可以将其捆绑在一起 - 我个人也不是喜欢由于缺少JVM而停止的安装程序.

我认为捆绑JRE并不合法.也就是说,如果没有Java,基于java的解决方案将无法运行.没有安装JRE,OpenOffice和许多其他人无法安装.我会说那是可以理解的.

IzPack似乎是创建基于Java的安装程序的好方法.

我对此问题的主要动机(我感谢与其他人类似)是找到不需要用户安装JVM的解决方案

正如我所写,我认为捆绑JRE是不合法的 [ 更新:它是合法的,阅读本文档以供参考](也不是一个好的选择,因为你必须捆绑许多不同的OS /架构组合).所以唯一的另一种方式是本机编译(不能帮助你,对不起).

  • 好,谢谢.很遗憾Sun/Oracle没有做过这样的事情.我认为JAR足以满足绝大多数情况. (2认同)