如果我有一个Java源文件(*.java)或一类的文件(*.类),我怎么可以将其转换为一个.文件?

我还需要一个安装于我的节目。

有帮助吗?

解决方案

javapackager

Java套工具汇编,包,并准备Java和系统应用程序进行分配。该javapackager命令就是命令行的版本。

–Oracle的文件

javapackager 用船舶与JAVA.它可以产生。exe文件 -native exe 标志,其中包括许多其他事情。

WinRun4J

WinRun4j是java发射窗口。它是一种替代javaw.exe 并提供了以下福利:

  • 使用INI文件用于指定类路径,主流,虚拟机args、程序args.
  • 定义的可执行的名字出现在任务经理。
  • 另外JVM args更灵活的存储使用。
  • 建立的图标的替代品的定制标。
  • [多个子弹点遵循]

–WinRun4J的网页

WinRun4J是一个开放源工具。它已 很多 功能。

packr

包你的瓶子、资产和JVM分布在Windows、Linux和Mac OS X,增加一个当地执行文件,使它看起来像一个本地的应用程序。Packr是最适合于GUI应用程序。

–packr README

packr是另一个开放源码工具。

JSmooth

JSmooth是Java可执行包装。它创造了机Windows发射器(标准。exe)为你的java应用程序。它使java部署更加顺畅和用户友好,因为它是能够找到任何已安装的Java VM由本身。

–JSmooth的网站

JSmooth是开放源代码和具有的特点,但它是非常旧的。最后释放时间是2007年。

JexePack

JexePack 是的一个命令行工具(伟大的的自动化脚本),允许你打包你的Java应用程序(类文件),可选择及其资源(如GIF/JPG/TXT/etc),变成一个单一的 压缩的 32位Windows EXE,其运行利用太阳的Java运行环境。两台和窗口的应用程序的支持。

–JexePack的网站

JexePack是试用软件.付款要求,用于生产的使用,并exe文件的创建与这个工具将显示"的提醒"没有付款。此外,最后一个版本是在2013年。

Installanywhere可

Installanywhere可很容易用于开发者创造专业的安装软件用于任何平台。与installanywhere可,你会适应工业变化快,更快地进入市场,并提供一个有吸引力的客户的经验。和知道的脆弱性项目的开放源码软件组件在你的船舶。

–Installanywhere可的网站

Installanywhere可是一个商业/企业包装产生的安装基于Java程序。它是大概能够创造。exe文件。

可执行的罐子的文件

作为替代。exe文件,您可以创建一个罐子文件自动运行的时双击,通过 增加一个入口点的罐子清单.


更多信息

一个极好的信息来源关于这一主题是Excelsior的文章"转换Java EXE–为什么当时没有以及如何".

另见的伴侣的文章"最好罐子EXE转换的工具、免费的和商业的".

其他提示

Launch4j

  

Launch4j是一个跨平台工具,用于将Java应用程序包装为轻量级Windows本机可执行文件中的jar。可执行文件可以配置为搜索某个JRE版本或使用捆绑的版本,并且可以设置运行时选项,例如初始/最大堆大小。包装器还通过应用程序图标,本机预JRE启动屏幕,自定义进程名称和Java下载页面提供更好的用户体验,以防无法找到适当的JRE。

     

– Launch4j的网站

  

更新: GCJ已经死了。 2016年,它从GCC项目正式删除。甚至在此之前,它几乎被放弃了七年来,无论如何,从未足够完整作为可行的替代Java实现。

     

去寻找另一个Java AOT编译器。

GCJ:用于Java的GNU编译器可以将Java源代码编译为本机机器代码,包括Windows可执行文件。

尽管GCJ不支持Java中的所有内容,尤其是GUI组件(请参阅 支持哪些Java API?支持有多完整?来自常见问题)。我没有太多使用GCJ,但是从我对控制台应用程序进行的有限测试来看,它看起来很好。

使用GCJ创建独立可执行文件的一个缺点是生成的EXE的大小可能非常大。有一次我在GCJ中编译了一个简单的控制台应用程序,结果是一个大约1 MB的可执行文件。 (可能有一些我不知道的方法。另一种选择是可执行的压缩程序。)

就开源安装程序而言, Nullsoft Scriptable Install System 是一个可编写脚本的安装程序。如果你很好奇,有用户提供的示例,了解如何检测是否存在JRE如果未安装所需的JRE,请自动安装。 (只是为了让你知道,我之前没有使用过NSIS。)

有关使用NSIS安装Java应用程序的更多信息,请查看我的回答问题”分发Java应用程序的最佳方式是什么?

您可以使用以下代码制作批处理文件:

start javaw -jar JarFile.jar

并使用任何.bat到.exe转换器将.bat转换为.exe。

我们使用 Install4J 建立安装用于窗或unix环境。

这是轻松自定义的起点在那里你想要写脚本,用于特别行动,不能与标准的对话。但是,即使我们在设置windows服务有了它,我们只使用标准成分。

  • 安装+发射器
  • 窗或unix
  • 编写脚本Java
  • 蚂蚁的任务
  • 大量的定制标准板和行动
  • 有选择地包括或下载java运行环境
  • 也可以启动windows服务
  • 多种语言

我认为Launch4J是从相同的公司(刚刚启动-没有安装).

PS:可悲的是我没有得到支付这批准。我只是喜欢这样的工具。

最新的 Java Web Start 已得到增强,可实现良好的离线操作并允许“本地安装“值得研究。

EDIT 2018:Java Web Start不再与最新的JDK捆绑在一起。甲骨文正在推动“使用封闭的JRE在本地部署您的应用程序”。而不是模型。

如果您需要将整个应用程序转换为本机代码,即EXE + DLL,请 ExcelsiorJET 。我发现它运行良好,并提供了捆绑JRE的替代方案。

恕我直言 JSmooth 似乎做得非常好。

我想说launch4j是将java源代码(.java)转换为.exe文件的最佳工具 您甚至可以将jre捆绑在一起进行分发,甚至可以将exe图标化。 虽然应用程序的大小增加,但即使用户没有安装jre,它也能确保应用程序完美运行。它还确保您能够提供应用程序所需的特定jre,而无需用户单独安装它。 但不幸的是,java失去了它的重要性。它的多平台支持完全被忽略,最终应用程序仅支持Windows。但如果你只为Windows用户提供服务,这不是什么大问题。

您可以使用 Janel 。最后一个用作应用程序启动器或服务启动器(可从4.x获得)。

或者,您可以使用一些java-to-c翻译器(例如, JCGO )和将生成的C文件编译为目标平台的本机二进制(.exe)文件。

我可以原谅我反对将java程序转换为.exe应用程序而且我有我的理由。主要的一个是java程序可以从很多IDE编译成jar文件。当程序采用.jar格式时,它可以在多个平台上运行,而不是.exe,它只能在非常有限的环境中运行。我认为Java程序不应转换为Exe,除非它是非常必要的。人们总是可以编写运行Java程序的.bat文件,而它是一个jar文件。

如果确实需要将它转换为exe,那么Jar2Exe转换器会默默地执行此操作,并且还可以附加与主应用程序一起编译的库。

您可以使用 jar2exe 将jar转换为exe。但是,您需要购买该软件。如果您需要开源软件,我建议 JSmooth

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top