这对我来说还有一段时间,但对于我的Project Implementation类,我们必须创建一个程序然后分发它。我用Java编写了一个应用程序,根据我在上一课(Project Design)中制作的规范,我的应用程序需要与平台无关。
对于mac和linux,用户可以直接从终端运行jar文件,但对于Windows,我希望将Application安装到用户选择的路径(默认:C:\ Program Files(x86)\ NameOfApplication),创建一个桌面快捷方式(如果用户希望有一个),在开始菜单下安装(如果用户想要),然后也显示在add \ remove programs列表中。
有没有简单的方法可以做到这一点?
如果我决定为mac和linux创建安装程序会不会更难?
先谢谢。
答案 0 :(得分:3)
即使是Java应用程序,也可以使用NSIS创建安装程序。
您也可以考虑通过Java Web Start分发您的应用程序。
答案 1 :(得分:1)
答案 2 :(得分:0)
Install4j做你想要的,虽然你必须付钱。就个人而言,我不知道有任何免费的替代方案。您也可以为Linux和Mac OS制作安装程序。
答案 3 :(得分:0)
答案 4 :(得分:0)
您可以使用标准JNLP执行大部分操作:
http://docs.oracle.com/javase/1.4.2/docs/guide/jws/developersguide/syntax.html
您创建一个JNLP文件,从一些本地(或远程)位置获取可执行JAR,并为其创建一个桌面图标(选择)。唯一不同的是,实际的JAR将被放置在JDK的jar缓存目录中(而不是在您选择的目录中 - 我认为用户不会太在意)。
这样做的一个巨大优势是,如果您制作一个从远程位置安装jar的JNLP,您可以远程将新版本的jar上传到该位置,当用户下次访问本地jar时,您的最新版本版本将被下载并放入本地缓存中。
另外,我建议您使用智能“胖JAR”构建器,它将所有依赖项包装在可执行jar中。 Eclipse IDE有一种以这种格式导出项目的方法(并且还添加了必要的类加载器,以便所有工作都可以在fat jar上运行)。
答案 5 :(得分:0)
如果您的目标操作系统是Windows,我强烈推荐使用Advanced Installer。它非常易于使用,并且可以让您使用特定的目标Java VM和一系列有用的Windows功能创建自己的本机微软安装程序(.msi),即使在免费版本中也是如此。请注意,您还可以在包中加入私人jre。
http://www.advancedinstaller.com/top-freeware-features.html
如果你想要一个“无处不在的软件包部署”解决方案,那么IzPack是一种可行的方式,平台独立,免费和开源。
根据项目的复杂程度,Java Web Start可能是一个非常好的选择,它的配置和维护非常简单,但它依赖于浏览器的java插件并相信我...大多数用户不喜欢被警告证书每次启动申请时都会冒险。