我从未见过将软件作为jar发布,那么如何才能将软件作为exe发布呢?

Del*_*ens 4 java jvm

是否所有人都认为其他人不会将软件发布为jar,然后以exe身份发布软件?

Mic*_*mlk 15

Java软件可以根据目标市场以多种方式发布.

对开发人员来说最简单(对最终用户来说最难)就是发布一个jar文件(或一组Jar文件).在许多系统上,JAR将是"双击",因此充当可执行文件.但是如果最终用户没有安装Java,它将无法工作.如果您控制目标环境,那就
很好.如果你想同时瞄准Windows,Mac和Linux,那也很好.任何带有Java的平台都可以运行它,包括你没有考虑过的平台.
如果你是针对普通用户.它不能执行"安装任务",在开始菜单中设置任何内容或将其自身与文件类型相关联.

在大多数情况下,Java Web Start是我的首选.它提供了一个基于Java的安装程序,可以设置开始菜单,关联文件类型和所有这些优点.但是在安装时会打开一个安全盒.
适合大多数情况.您只拥有所有操作系统的一个链接.如果您怀疑用户没有安装JRE,或者您不希望最终用户意识到应用程序是用Java编写的,那就太
糟糕了.

你可以发布一个带有Jars in的zip文件和一个.bat文件以及一个.sh文件来实现.
良好的管理员,开发人员和命令行应用程序.
为最终用户谁真的不知道什么是蝙蝠和shell脚本的,并会不知道该怎么做,如果脚本被打破了他们的系统.

Jar文件的一个瘦的.exe包装器.这给最终用户留下了应用程序本机的印象.它们通常带有......

一个Java的感知安装.这是一个本机安装程序(Windows,Mac和Linux的安装程序不同).这将能够检测目标机器是否安装了Java,以及是否能够启动JRE的安装.它还可以完成所有有趣的安装后内容,例如设置文件关联和向开始菜单添加项目.
适合大多数情况.如果您要定位多个平台,则会很
糟糕,因为您需要维护每个平台的安装程序.如果其中一个目标平台没有Java感知安装程序也会很糟糕(那么您将需要使用上述其他方法).

原生EXE.使用Java到本机编译器(Jet,GCJ或IKVM)可以创建本机可执行文件.
好的,如果你真的不希望别人知道你正在使用Java或需要以某种奇怪的方式与本机环境集成(ikvm会让你在.NET中使用你的Java代码只是一个.NET对象).
糟糕的是,人们认为这会神奇地使应用程序更快而不会.

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

编辑:IKVM,jpm


Tim*_*the 5

是.如果您与最终用户而不是程序员打交道,那么为他的平台构建本机解决方案是个好主意.创建一个dmg,一个exe和一些linux包.对于exe的东西,看看launch4jjsmooth.