从jar创建可执行文件

时间:2013-01-12 21:37:14

标签: java exe executable-jar

我在java中创建了jar文件。它使用一些库文件。所以,我的最终结构是,

  • example.jar
  • LIB
    • 库文件

如何将它们转换为单个文件,如Windows的exe?它也应该在linux中运行,如(.sh文件 - NetBeans安装程序)。

4 个答案:

答案 0 :(得分:3)

只需使JAR包含所有库依赖项。

  1. 如果Maven是您的构建工具,请检查this SO question。其他工具也有类似的解决方案(Gradle等)。

  2. 有些IDE也可以这样做,例如NetbeansIntelliJ IDEA

  3. 当然可以肯定,您要打包的库具有许可证,允许这样做。

答案 1 :(得分:2)

如果您使用Netbeans检查this将所有jar加入其中,现在当您有1个jar时,可以使用launch4j创建exe。

答案 2 :(得分:1)

虽然这是可能的,但它违背了Java的本质。

Java被设计为可移植语言(只需编写一次,随处运行); .jar文件包含Java字节码,Java虚拟机在运行时将对其进行解释;你可以将它复制到任何架构,它将在那里运行。

.exe文件实际上包含要由处理器直接运行的机器代码特定语言;这不适用于其他架构。

但是,您需要使用不同的工具,例如JarToExeJSmooth

答案 3 :(得分:1)

你有几个选择:

  • 使用类似gcj的内容编译到本机应用程序。在许多情况下,这不是一个选项(如果你研究它,你会明白为什么)

  • 拥有运行jar的修改后的java可执行文件

  • 拥有一个使用java运行jar的可执行文件

如果你可以合理地假设你的客户已经安装了java,那么只需部署一个可执行jar就可以了 - 在大多数桌面操作系统上,java发行版被设置为以预期的方式运行可执行jar(即通过double点击Windows),以及那些不是 - 好吧,人们可能会知道java是什么以及如何运行jar。