我在java中创建了jar文件。它使用一些库文件。所以,我的最终结构是,
如何将它们转换为单个文件,如Windows的exe?它也应该在linux中运行,如(.sh文件 - NetBeans安装程序)。
答案 0 :(得分:3)
只需使JAR包含所有库依赖项。
如果Maven是您的构建工具,请检查this SO question。其他工具也有类似的解决方案(Gradle等)。
有些IDE也可以这样做,例如Netbeans和IntelliJ IDEA。
当然可以肯定,您要打包的库具有许可证,允许这样做。
答案 1 :(得分:2)
答案 2 :(得分:1)
虽然这是可能的,但它违背了Java的本质。
Java被设计为可移植语言(只需编写一次,随处运行); .jar文件包含Java字节码,Java虚拟机在运行时将对其进行解释;你可以将它复制到任何架构,它将在那里运行。
.exe文件实际上包含要由处理器直接运行的机器代码特定语言;这不适用于其他架构。
答案 3 :(得分:1)
你有几个选择:
使用类似gcj的内容编译到本机应用程序。在许多情况下,这不是一个选项(如果你研究它,你会明白为什么)
拥有运行jar的修改后的java
可执行文件
拥有一个使用java运行jar的可执行文件
如果你可以合理地假设你的客户已经安装了java,那么只需部署一个可执行jar就可以了 - 在大多数桌面操作系统上,java发行版被设置为以预期的方式运行可执行jar(即通过double点击Windows),以及那些不是 - 好吧,人们可能会知道java是什么以及如何运行jar。