JAR可执行文件的优缺点

Jos*_*eph 4 java portability jar

我一直在使用JAR文件在学校的Java主题中导出我的项目.我注意到它的可移植性(假设使用的计算机安装了Java).但是,有了这个事实,为什么我没有看到开发人员使用JAR文件分发Java程序?使用JAR可执行文件的优点(除了可移植性)和缺点(除了使用C++之外)是什么?

Sar*_*tha 5

这个问题有两个组成部分.第一个是运送JAR而不使用安装程序.该问题的第二个组成部分是在部署可执行文件后仅在机器上使用JAR的优缺点.我开始怀疑OP是在询问第一个组件.我的回答试图回答第二个组成部分.

优点

  1. 减少工作量.不必为要支持的每个平台创建可执行文件.

缺点

  1. 如果用户没有安装java,则无法告诉用户无法运行的原因.exe也可以为用户下载java.
  2. 如果您的应用需要特定版本的Java,则可能使用错误的版本运行.本机可执行文件可以找到正确的可执行文件并使用它.这一点并不像以前那么重要,因为Java 6已经存在了这么长时间.
  3. 无法在Windows上为可执行文件设置自定义图标.
  4. 您无法控制启动选项,例如应用可以使用的最大内存.对于大多数应用程序,这是好的,但有时你需要更多的内存
  5. JAR无法用于Windows服务.它周围必须有一个exe包装器(jsmooth有这个).

生成可执行文件的另一种方法是使用JNLP.在将用户转发到.jnlp文件之前,网页可以检查java.