当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《分发Java应用程序的最佳方式是什么?》经验,为你挑选了2个好方法。

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

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

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



1> Noel Grandin..:

根据您的分销要求,有多种解决方案.

    只需用一个罐子.这假定用户安装了正确的java版本,否则用户将获得"类文件格式版本"异常.这适用于公司内部的内部分发.

    使用launch4j和NSIS之类的安装程序.这为您提供了更多的控制,尽管用户仍然可以做一些愚蠢的事情,比如卸载java运行时.这可能是最流行的方法,也是我目前使用的方法.

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

    使用Excelsior JET之类的本机代码编译器并将其作为可执行文件分发,或将其包装在安装程序中.价格昂贵,而且它通常会将您与旧版本的java相关联,并且动态类加载会有一些困难,但它对于需要最大限度地减少支持麻烦的大规模部署非常有效.


我不喜欢Webstart.它有太多的Java/Sun品牌.它很难让它正常工作.设置代码签名比它的价值更麻烦,用户无论如何都不了解安全优势和消息.如果你想在用户系统上做任何事情,你将不得不为你的代码签名证书付费以摆脱可怕的警告它会做很多复杂的缓存,这可能会导致问题.也许OSGi或即将推出的Java模块将提供类似的自动更新优势.我使用#2的变体并为Ant创建DMG/Packager for mac.
只是关于Webstart的说明:只要用户安装的Java版本不是石器时代(例如1.2),就可以告诉webstart下载并安装您的程序所需的Java版本的新Java版本不存在然而.查看.jnlp文件语法.当然,它仍然非常突出地显示您使用的Java可能不合适,具体取决于您处理的客户端.在这些情况下,您确实应该使用某种"本机"安装程序/文件格式,并尽可能隐藏实现细节.

2> rustyshelf..:

高级安装程序可以轻松地将Java应用程序打包为Windows可执行文件,并且它的设置方式非常灵活.我发现,为了将Java应用程序分发到Windows客户端,这是最简单的方法.


作为一个说明,它的成本......
推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有