分发 Java 应用程序的最佳方式是什么?[已关闭]

Java是我选择的编程语言之一。我总是遇到将应用程序分发给最终用户的问题。

给用户一个JAR并不总是像我想要的那样用户友好,使用Java WebStart需要我维护一个Web服务器。

分发 Java 应用程序的最佳方式是什么?如果 Java 应用程序需要将工件安装到用户的计算机,该怎么办?有没有好的Java安装/打包系统?


答案 1

有多种解决方案,具体取决于您的分销要求。

  1. 只需使用罐子即可。这假设用户安装了正确的java版本,否则用户将获得“类文件格式版本”异常。这对于公司内部的分发来说很好。

  2. 使用 launch4j 和像 NSIS 这样的安装程序。这给了你更多的控制权,尽管用户仍然可以做一些愚蠢的事情,比如卸载java运行时。这可能是最流行的方法,也是我目前使用的方法。

  3. 使用 Webstart。这也假设用户安装了正确的java版本,但要容易得多。我的经验是,这对于严格控制的 Intranet 环境来说很好,但对于大型部署来说,这变得很痛苦,因为它有一些奇怪的故障。使用Java 1.7中的新插件技术可能会变得更好。

  4. 使用像 Excelsior JET 这样的本机代码编译器并作为可执行文件分发,或者将其包装在安装程序中。它很昂贵,并且通常将您与稍旧版本的java联系在一起,并且动态类加载存在一些痛苦,但是对于需要最大程度地减少支持麻烦的大规模部署,它非常有效。


答案 2

高级安装程序使将Java应用程序打包为Windows可执行文件变得容易,并且它非常灵活地设置它。我发现,对于将java应用程序分发到Windows客户端,这是最简单的方法。


推荐