我想了解分发 Java 应用程序的各种选项。
我知道你可以
- 分发源代码让用户自己编译,或者提供make文件等。
- 打包成JAR,并有自解压包
- 和(我敢肯定,还有无数其他方式)
我希望对最常见的选项(以及我没有想到的选项)进行一些解释,特别是,它们是否要求用户拥有 JVM,或者是否可以将其与一个捆绑在一起 - 就我个人而言'我不太喜欢由于缺少 JVM 而停止的安装程序。谁说应用程序需要安装程序,独立解决方案也很好。
此外,值得一问的是如何处理跨平台分发、exe 与 dmg 等...
我提出这个问题的主要动机(我很欣赏这个问题与其他问题相似)是为了找到不需要用户已经安装 JVM 的解决方案 - 但为了完整性,我一般会问。
非常感谢
最佳答案
Distribute the Source Code and let users compile it themselves, or provide make files, etc..
这对于开源项目来说可能没问题,但对于任何商业项目来说都是非常不寻常的。我建议将它作为技术人员的一个选项提供,但也分发 JAR
Package it into a JAR
我称之为最佳实践
and have self extracting archives
making the jar executable怎么样?相反?
I'm hoping for some explanations about the most common options (and one's I haven't thought of) and in particular, do they require a user to have a JVM, or can it be bundled with one - personally I'm not too fond of an installer which halts due to a lack of JVM.
我认为捆绑 JRE 是不合法的。 也就是说,很明显,如果没有 Java,基于 Java 的解决方案将无法工作。如果没有安装 JRE,OpenOffice 和许多其他软件将无法安装。我会说这是可以理解的,也可以。
IzPack似乎是创建基于 Java 的安装程序的一个很好的解决方案。
My primary motivation for this question (which I appreciate is similar to others) is to find solutions that don't require the user to already have a JVM installed
如我所写,我认为捆绑 JRE 是不合法的 [更新:这是合法的,read this document供引用](也不是一个好的选择,因为您必须捆绑许多不同的操作系统/体系结构组合)。所以唯一的其他方法是 native 编译(抱歉,无法帮助您)。
关于java - 如何分发 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5081048/