一尘不染

分发Java应用程序的最佳方法是什么?

java

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

为用户提供JAR并不总是像我想要的那样友好,并且使用Java WebStart要求我维护Web服务器。

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


阅读 520

收藏
2020-03-09

共1个答案

一尘不染

有多种解决方案,取决于你的发行要求。

  1. 只是用一个jar。这假设用户安装了正确的Java版本,否则用户将获得“类文件格式版本”异常。这对于在公司内部进行内部分配很好。

  2. 使用launch4j和类似NSIS的安装程序。尽管用户仍然可以执行诸如卸载Java运行时之类的愚蠢工作,但是这给了你更多的控制权。这可能是最流行的方法,也是我目前使用的方法。

  3. 使用Webstart。这也假设用户安装了正确的Java版本,但是使用起来却容易得多。我的经验是,这对于严格控制的Intranet环境是很好的,但是对于较大的部署,这会带来麻烦,因为它存在许多奇怪的故障。使用Java 1.7中的新插件技术可能会更好。

  4. 使用本机代码编译器(如Excelsior JET)并作为可执行文件分发,或将其包装在安装程序中。昂贵,并且通常将你绑定到Java的较早版本,并且动态类加载有些麻烦,但是对于需要最小化支持麻烦的大规模部署而言,它非常有效。

2020-03-09