gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 01:01:22 25 4
gpt4 key购买 nike

是不是大家都在想其他人不发布jar软件然后也发布exe软件?

最佳答案

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

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

Java Web Start 在大多数情况下是我的首选。它提供了一个基于 Java 的安装程序,可以设置开始菜单、关联文件类型和所有这些好处。但确实会在安装时弹出一个安全框。
对于大多数情况,很好。对于所有操作系统,您只有一个链接。
不好 如果您怀疑用户没有安装 JRE 或者您不希望最终用户知道该应用程序是用 Java 编写的。

您可以发布一个包含 Jar 的 zip 文件以及一个 .bat 文件和一个 .sh 文件来开始。
很好 适合管理员、开发人员和命令行应用程序。
不好 对于并不真正了解 bat 和 shell 脚本是什么并且不知道如果脚本在他们的系统中被破坏该怎么做的最终用户。

一个薄的 .exe 包装器 围绕 Jar 文件。这给最终用户的印象是应用程序是本地的。它们通常带有...

Java 感知安装程序。这是一个 native 安装程序(因此适用于 Windows、Mac 和 Linux 的不同安装程序)。这将能够检测目标机器是否安装了 Java,如果没有,则能够启动 JRE 的安装。它还将能够执行所有有趣的安装后操作,例如设置文件关联和向开始菜单添加项目。
对大多数情况都很好
不好 如果您的目标是多个平台,因为您需要为每个平台维护一个安装程序。如果其中一个目标平台没有支持 Java 的安装程序也很糟糕(然后您将需要为该平台使用上述其他方法)。

native EXE。使用 Java-to-native 编译器(Jet、GCJ 或 IKVM),您可以创建一个 native 可执行文件。
很好 如果您真的不想让人们知道您正在使用 Java 或需要以某种奇怪的方式与 native 环境集成(ikvm 将允许您在 .NET 中使用您的 Java 代码作为简单的 . NET 对象)。
不好,因为人们认为这会神奇地使应用程序更快,而实际上并不会。

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

编辑:IKVM、jpm

关于java - 我从来没有见过以jar形式发布的软件,那么我怎样才能让一个软件也以exe形式发布呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com