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

我创build了一个JAR文件,我想在客户端上运行它。 我有几个问题:

  1. 如何将JAR文件转换为EXE文件?
  2. 我如何encryptionJAR文件的内容? jar文件可以用WinRAR提取,并且可以用任何Java反编译器反编译这些类。
  3. 我如何创build一个安装程序? 我的客户没有任何JVM,我也不想随身携带JDK或JRE,因为它们尺寸很大。
  1. 看到这个链接: Java到EXE 。 这也解释了什么是有效的原因是这样做,什么时候不应该。

  2. 你不能真正encryption二进制文件,因为机器必须理解它们。 这就是说,一个优化的可执行文件很难反编译,而普通的类文件很容易。

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

JSmooth是一个应用程序,将您的Jar包装在一个exe文件

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

http://jsmooth.sourceforge.net/

至于1):我想你不能。 可能有些工具,但是不能用JDK附带的标准工具来完成,因为这会破坏平台的独立性。 (请参阅提供此类第三方工具链接的其他答案)

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

您无法防止反编译。 你可以做的最好的做法是让它变得更难或更费时间。 作为你的问题的答案,但我相信你可以使用gcj编译成EXE的Java。

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

1)我最近尝试了程序jarToExe并喜欢它。 一些function是:

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

2)使用proguard或其他混淆器可以使逆向工程变得更加困难

3) nsis是一个非常强大的,免费的脚本语言来创buildWindows安装程序。 网站wiki上的良好文档以及堆栈溢出支持。

Launch4j为我工作,而一些工具还没有工作。 这里也有一个很好的指导。

希望这个帮助!