如何将JAR文件转换为EXE文件?

时间:2010-02-16 10:28:29

标签: jar exe java

我想创建一个JAR文件,我想在客户机上运行它。所以,我有几个问题:

  1. 如何将JAR文件转换为EXE文件?
  2. 如何加密JAR文件的内容?可以使用WinRAR提取jar文件,并且可以使用任何Java反编译器对类进行反编译。
  3. 如何创建安装程序?我的客户没有任何JVM,我也不想发送JDK或JRE,因为它们的大小很大。

9 个答案:

答案 0 :(得分:17)

  1. 请看此链接:Java to Exe。它还解释了执行此操作的正当理由,以及何时不应该这样做。

  2. 您无法真正加密二进制文件,因为机器必须了解它们。也就是说,优化的可执行文件很难反编译,而普通的类文件很容易。

  3. 如果您有一个exe,那么安装程序就足够了。

答案 1 :(得分:9)

JSmooth是一个将你的Jar包装在exe

中的应用程序

它还允许您检查正在部署的系统上是否有正确版本的JRE

http://jsmooth.sourceforge.net/

答案 2 :(得分:4)

您无法阻止反编译。你能做的最好的事情就是让它更难或更耗时。但是,作为对您的问题的回答,我相信您可以使用gcj将Java编译为EXE。

答案 3 :(得分:3)

至于1):我猜你不能。可能有工具,但你不能用JDK附带的标准工具做到这一点,因为它会破坏平台的独立性。 (参见提供此类第三方工具链接的其他答案)

至于3):使用InnoSetup创建安装程序。在设置中包含JRE,让InnoSetup即时安装它。

答案 4 :(得分:3)

可能Excelsior JET将满足您的需求。)恕我直言非常成熟的产品。

答案 5 :(得分:3)

1)我最近尝试过程序jarToExe并喜欢它。 一些功能是:

  • 免费基本版或非常便宜(30美元)的'企业'
  • 让Windows任务管理器列出您的应用程序名称而不是默认的java.exe
  • 的能力
  • 额外混淆
  • 运行时检查java是否已安装

2)您可以使用proguard或其他混淆器进行逆向工程更难

3)nsis是一种非常强大的免费脚本语言,用于创建Windows安装程序。关于网站维基的良好文档以及对堆栈溢出的支持。

答案 6 :(得分:2)

Launch4j为我工作,而有些工具还没有工作。它还有一个很好的指南here

希望这有帮助!

答案 7 :(得分:0)

我们使用7zip SFX安装启动器。这是一个开源的简单工具。它将打包您的jar,一个jre版本,因此安装系统不是必须安装jre和一个自解压版本7zip。这是tutorial,说明了如何捆绑和GitHub link 该项目未维护,但可以正常运行(经过Java 1.8进行测试)

答案 8 :(得分:0)

1)要创建 exe ,可以使用Launch4j

2)如我所见,您不能加密jar内容。不过我不确定。

3)要创建安装程序,可以使用刚刚创建的 exe ,并使用InnoSetup创建文件。您必须嵌入 jre 安装程序,以及所有可能需要安装的其他库额外文件。运行。嵌入jre时,设置会变大,如果要避免这种情况,可以要求客户端在计算机中安装java。这样,您就不需要随jre一起运送了。