我正在学习使用Java学习GUI编程,我正在使用Netbeans IDE。我现在想创建一个在Netbeans之外运行的可执行程序;即,以便它可以从我的桌面运行。
但是当我做一些研究时,我的印象是不建议从Java程序创建.exe。你能不能向我解释为什么不推荐它?
答案 0 :(得分:5)
不建议使用,因为:
exe
不可移植。不同的exe
格式用于不同的操作系统,硬件架构等。exe
需要包含完整的JRE。 (你想分发100Mb"你好世界"可执行文件?)exe
是一个安全问题。没有简单的方法来更新JRE ...来修复最新一批安全漏洞。如果(假设)Java语言,库和工具链支持编译为二进制+链接,那么分发exe
文件将是一个明智的解决方案。但是,Java应用程序可以做的很多事情取决于标准Java的动态加载/ JIT编译实现。
第三方尝试满足人们对自包含exe
文件的要求,但您最终会得到一个Java子集 1 ,或者膨胀的exe
个文件。
1 - 例如,使用旧的GNU gcj
编译器,库是Java 2的一个子集(!)...而且(AFAIK)字节码的动态加载不是一个选项。有关gcj限制的更多信息,请参阅this page。