我已经用java创建了jar文件。它使用一些库文件。最后一个结构是
- example.jar
- 自由
- 库文件
如何将它们转换为单个文件,如windows的exe ?它也应该在linux中运行,就像(.sh文件- NetBeans安装程序)。
创建一个包含所有库依赖项的JAR。
-
如果Maven是您的构建工具,请勾选此SO问题。其他工具(Gradle等)也有类似的解决方案。
-
一些ide也可以这样做,例如Netbeans和IntelliJ IDEA。
当然,要确保您要打包的库具有允许这样做的许可证。
如果您使用Netbeans,请检查将所有jar合并为一个,现在当您有一个jar时,您可以使用launch4j创建exe
虽然这是可能的,但它违背了Java的性质。
Java被设计成一种可移植语言(编写一次,随处运行);你的.jar文件包含Java字节码,它将在运行时由Java虚拟机解释;你可以把它复制到任何架构中,它都会在那里运行。
.exe文件实际上包含由处理器直接运行的机器码特定语言;
然而,有不同的工具,如JarToExe或JSmooth.
这里有几个选项:
-
用类似gcj的代码编译成本机应用程序。但在很多情况下,这不是一个选项(你会发现为什么,如果你看看它)
-
有一个修改的
java
可执行文件来运行你的jar -
有一个运行jar的可执行文件
如果你可以合理地假设你的客户端安装了java,那么部署一个可执行的jar应该是好的——在大多数桌面操作系统上,java发行版被设置为以预期的方式运行可执行的jar(即在Windows中双击),而在那些不是这样的地方——好吧,人们可能会知道java是什么以及如何运行jar。