什么是最好的方式分发Java应用程序?[关闭]
-
09-06-2019 - |
题
Java是我编程语言的选择。我总是遇到的问题,虽然分发我的应用程序最终用户。
给一个用户的一个罐子里并不总是用户友好的,因为我想和使用Java WebStart要求我维持一个网络服务器。
什么是最好的方法来分发Java应用程序?如果有什么Java应用程序的需要来安装项目的用户的电脑吗?是否有任何良好Java安装包装的系统了吗?
解决方案
有各种各样的解决方案,这取决于你分配的要求。
只是使用一个罐子里。这个假设的用户有正确的java版本的安装,否则用户会得到"类文件的格式版本的"例外情况。这是好的内部分布内部公司。
使用launch4j和安装喜欢NSIS.这给你更多的控制,虽然用户仍然可以做愚蠢的东西,像联合国安装java运行时间。这可能是最受欢迎的办法,并且我目前使用的。
使用Webstart。这也假定用户已经正确的java版本的安装,但它是一个很容易得到持续。我的经验是,这是好对严格控制的内联网的环境中,而是成为一个痛苦更大部署,因为它有一些很多奇怪的失败。它可以得到更好地与这个新的插件技术在Java1.7.
使用机代码编译器喜欢酒店喷射和分发作为一个可执行的,或包装在一个安装程序。昂贵的,它通常的联系你年龄稍大的java版本,并且有一些痛苦与动态类装载,但它非常有效的大规模部署在哪里,你需要最小化你支持麻烦。
其他提示
先进的安装者 使得它很容易包java应用程序作为窗户的可执行文件,这是相当灵活的方式可以设置。我已经找到,对于分发java应用windows客户端,这是最简单的方式去。
JSmooth 是一个简单的程序,该程序需要你的罐和包装在一个标准的窗户可执行的文件。它带有一个简单的图形用户界面,允许配置所需的JVM束它与应用程序或提供一个选项,下载它,如果它不是已经安装。你可以发送的文件或邮它有可能的依赖(或者让程序下载的额外依赖从网上启动时)。这也是免费的,因为啤酒和语言,这可能(或不可能)是一件好事。
这取决于如何复杂的目标用户。在大多数情况下你想要隔离他们,从事实上,你正在运行一个基于Java的应用程序。给他们一个机安装程序,做正确的事情(创始菜单项、发射器,注册添加或删除程序,等等。) 并且已经束Java运行(因而用户不需要知道或关心的话)。我谨建议我们的跨平台的安装工具, BitRock InstallBuilder.虽然它不是基于Java,通常用于包Java应用程序。它可以很容易地集成蚂蚁,你可以建立窗户安装人员从Unix/Linux/Mac和周围的其他方法。因为所产生的安装人员是司机,他们不需要自取步骤或java运行环境已经存在的目标系统,这意味着较小的安装和你节省一些麻烦。我还想提到我们有免费的许可证,开放源码项目
可执行的文件都是最好的,但它们的平台,即限制使用链: http://gcc.gnu.org/java/ linux产生可执行文件和使用launch4j: http://launch4j.sourceforge.net/ 产生windows可执行文件。包在linux上可以使用任何转或黛布打包.For win32尝试 http://en.wikipedia.org/wiki/Nullsoft_Scriptable_Install_System
如果它是一个真正的GUI具有终端用户的应用程序,你应该忽略lanaguage中,你写的程序(Java)和使用地安装用于每个所选择的平台。Mac人想要一个.德马吉和在窗户中的一个。msi或.可执行软件安装的路要走。在Windows我喜欢NSIS从NullSoft仅因为它是令人讨厌的小比InstallShield或installanywhere可.在OS x你可以指望JVM已经在那里。在Windows只需要检查和安装,它对于他们,如果必要的。Linux的人不会跑Java GUI应用程序和数几个会知道该怎么做有一个可执行的。罐子。
为简单的Java应用我想使用的罐子。这是非常简单的分发一个文件,用户可以只需点击(窗口),或
java -jar jarname.jar
恕我直言,罐子里是要走的路时,简单是一个主要要求。
我的发展蚀RPC应用程序。通常开始一个日食的应用程序的可执行发射器包括在内。I包括java虚拟机应用程序内的文件夹在a/java运行环境子目录,以确保正确java版本将可以使用。
然后我们用创新的设置上安装机器的用户。
什么是最好的方法来分发 Java应用程序?如果有什么Java 应用程序需要伪装 用户的计算机?是否有任何 好Java安装/包装 系统了吗?
以我的经验(从 评估一些选项), install4j 是一个很好的解决方案。它创建了本地安装的任何平台,并且是专门针对安装Java应用程序。详情,请参阅"功能"在其网站上。
install4j是一种商业工具,虽然。特别是如果您需要的是相对简单的(刚刚分发的应用程序和安装的一些文物),其他许多好的选择存在,包括免费的(像 izPack 或者已经提到的 Lauch4j).但是你要求的 最好的 方式,并以我目前的知识install4j是一个,尤其是用于分发大或更加复杂Java(EE)应用程序。
installanywhere可是好的,但昂贵的一个-我有没有发现(as)良好的免费单
我会zip罐子文件以及与其他依赖罐,配置文件和文件沿用run.bat/run.sh.终端用户应当能够将它的任何位置和编辑的运行。蝙蝠如果要求(它应该运行,而无需编辑在大多数情况下)。一个安装可能是有用的,如果你想要创造条目在开始菜单、桌面系统的盘等等。
作为用户的我喜欢压缩和运行的安装类型(没有开始菜单项请).然而外部的人就业可能具有不同的喜好。因此,如果应用程序主要是针对商拉链运行。bat的路线和应用程序对一般公众可以安装使用安装。