首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我从来没有见过一个软件是以jar的形式发布的,那么我怎样才能使一个软件也以exe的形式发布呢?

问我从来没有见过一个软件是以jar的形式发布的,那么我怎样才能使一个软件也以exe的形式发布呢?
EN

Stack Overflow用户
提问于 2009-09-21 08:12:04
回答 5查看 668关注 0票数 4

是否每个人都认为其他人不会以jar格式发布软件,然后以exe格式发布软件?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-21 08:16:18

是。如果你与终端用户打交道,而不是程序员,那么为他的平台构建一个本机解决方案是一个好主意。创建一个dmg、一个exe和一些linux包。有关exe的内容,请查看launch4j或jsmooth。

票数 5
EN

Stack Overflow用户

发布于 2009-09-21 08:49:17

Java软件可以通过多种方式发布,具体取决于目标市场。

对开发人员来说最简单的(但对最终用户来说最难的)是只发布一个jar文件(或一组Jar文件)的。在许多系统上,JAR将是“可双击的”,因此充当可执行文件。但是,如果最终用户没有安装Java,它将无法工作。

如果您可以控制目标环境,这是很好的。如果你想同时瞄准Windows、Mac和Linux,也是个不错的选择。任何使用Java的平台都可以运行它,包括您没有考虑过的平台。

如果你的目标是普通用户,那就不好了。它不能执行“安装任务”,不能在“开始”菜单中设置任何内容,也不能将自己与文件类型相关联。

在大多数情况下,Java Web Start是我的首选。它提供了一个基于Java的安装程序,可以设置开始菜单,关联文件类型和所有这些优点。但在安装时会调出一个安全盒。

适用于大多数情况。您只有一个用于所有OSes的链接。

如果您怀疑用户没有安装JRE,或者您不想让最终用户知道应用程序是用Java编写的,这是不好的。

您可以发布一个包含Jars的压缩文件,以及一个.bat文件和一个.sh文件。

适用于管理员、开发人员和命令行应用程序。

对于不知道bat和shell脚本是什么的最终用户来说,这是不好的,如果脚本在他们的系统中被破坏了,他们也不知道该怎么办。

Jar文件周围的一个精简的.exe包装器。这会给最终用户一种应用程序是原生的印象。它们通常带有..。

一个支持Java的安装程序。这是一个本机安装程序(因此Windows、Mac和Linux的安装程序各不相同)。这将能够检测目标计算机是否安装了Java,如果没有,则能够开始安装JRE。它还将能够做所有有趣的安装后的事情,如设置文件关联和添加项目到开始菜单。

适用于大多数情况。

如果你的目标是多个平台,那就不好了,因为你需要为每个平台维护一个安装程序。同样糟糕的是,如果目标平台之一没有Java感知的安装程序(然后您将需要在该平台上使用上面的其他方法)。

本机EXE。使用Java到本机编译器(Jet、GCJ或IKVM)可以创建本机可执行文件。

如果你真的不想让别人知道你在使用Java,或者需要以某种奇怪的方式与本机环境集成(ikvm将允许你以简单的.NET对象的形式在.NET中使用你的Java代码),这是个不错的选择。

尽管人们认为这会神奇地让应用程序变得更快,但事实并非如此。

一个包。JPM是Java的包管理器,就像nodejs的npm一样。这允许您通过一个小的命令行脚本安装软件,例如,要安装jython,您可以使用jpm install -f --name jython org.python:jython。适用于开发人员工具。对终端用户不好,因为它是基于命令行的,需要他们首先安装jpm。

编辑: IKVM,jpm

票数 15
EN

Stack Overflow用户

发布于 2009-09-21 08:33:44

另一种选择是install4j,

是一个强大的多平台Java installer构建器,可以为Java应用程序生成本机安装程序和应用程序启动器。

我下载并安装了一个使用它的应用程序,它工作得很好。然而,它的价格可能会阻止个人或小公司试图部署小型Java应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1453369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档