如果我有一个Java源文件(*.Java)或一个类文件(*.class),我如何将其转换为.exe文件?

我还需要我的程序的安装程序.

推荐答案

javapackager

Java Packager工具编译、打包和准备Java和JavaFX应用程序以供分发.javapackager命令是命令行版本.

-甲骨文文档

javapackager个实用程序随JDK一起提供.它可以产生.带有-native exe标志的exe文件,以及许多其他内容.

WinRun4J

WinRun4j是windows的java启动器.它是javaw的替代品.exe并提供以下好处:

  • 使用INI文件指定类路径、主类、VM参数和程序参数.
  • 任务管理器中显示的自定义可执行文件名.
  • 额外的JVM参数可以更灵活地使用内存.
  • 自定义图标的内置图标替换器.
  • [more bullet points follow]

–WinRun4J的网页

WinRun4J是一个开源实用程序.它有many个功能.

帕克

打包JAR、assets资源 和JVM,以便在Windows、Linux和Mac OS X上分发,并添加一个本机可执行文件,使其看起来像一个本机应用程序.Packr最适合GUI应用程序.

–帕克自述

帕克是另一个开源工具.

JSmooth

JSmooth是一个Java可执行包装器.它为java应用程序创建本机Windows启动器(standard.exe).它使java部署更加顺畅,用户友好,因为它能够自己找到任何已安装的java VM.

–JSmooth的网站

JSmooth是开源的,有很多特性,但它非常古老.上一次发布是在2007年.

喷气背包

喷气背包是一个命令行工具(非常适合自动脚本编写),它允许您将Java应用程序(类文件)及其资源(如GIF/JPG/TXT/etc)打包到一个compressed 32位Windows EXE中,该程序使用Sun的Java运行时环境运行.同时支持控制台和窗口应用程序.

-喷气背包的网站

喷气背包是试用软件.生产使用需要付款,使用此工具创建的exe文件将显示"提醒",无需付款.此外,上一次发布是在2013年.

安装在任何地方

安装在任何地方使开发人员可以轻松创建适用于任何平台的专业安装软件.使用安装在任何地方,您将快速适应行业变化,更快地进入市场,并提供引人入胜的客户体验.并在发布之前了解项目的OSS组件的漏洞.

–安装在任何地方的网站

安装在任何地方是为基于Java的程序生成安装程序的商业/企业软件包.它可能能够创建.exe文件.

可执行JAR文件

作为.exe文件的替代文件,您可以创建一个JAR文件,该文件在双击时自动运行(按adding an entry point to the JAR manifest倍).


For more information

关于这个话题的一个极好的信息来源是Excelsior的文章"Convert Java to EXE – Why, When, When Not and How".

另见配套文章"Best JAR to EXE Conversion Tools, Free and Commercial".

Java相关问答推荐

如何在Java中设置字符串与中文字符对齐?

在没有maven或IDE的情况下从命令行运行PFA模块化应用程序时出现神秘错误

Mongo DB Bson和Java:在子文档中添加和返回仅存在于父文档中的字段?

具有默认分支的JUnit代码覆盖率切换声明

Java:根据4象限中添加的行数均匀分布行的公式

RxJava PublishSubject缓冲区元素超时

使用联接和分页的SpringBoot Spring数据JPA

Java中是否有某种类型的池可以避免重复最近的算术运算?

关于泛型的覆盖规则

如何让DTO接受空字符串字段,但如果它们不为空,则应用JPA验证?

Spring @Value default无法计算表达式

PDFBox未加载内容

为什么当我创建Robot对象时,JavaFX引发IlLegalStateException异常?

在macOS上读取文件会导致FileNotFound,即使文件存在(并且具有权限)

具有多个模式的DateTimeForMatter的LocalDate.parse失败

如何在Spring Security中设置一个任何人都可以打开的主页?

字符串的Gzip压缩在java11和java17中给出了不同的结果

如何以事务方式向ibmmq发送消息

在数组中查找素数时出现逻辑错误

为什么我得到默认方法的值而不是被覆盖的方法的值?