我需要我的应用程序是可执行的,没有安装jre。它还使用rxtx,32位和64位系统有不同的jar和dll。是否有用于Windows的Java AOT编译器,支持64位系统?我所能搜索到的就是Excelsior Jet有一些alpha版本,但我不知道是否(或者如何)我可以在那里做最终的exe。
发布于 2012-08-27 18:39:06
我会使用java到exe包装器(例如Launch4j)、JRE捆绑和安装程序构建器(例如InnoSetup)的组合。捆绑一个完整的JRE只会给安装程序增加大约20MB (您可以通过从JRE中剥离不需要的东西来减少一些MB )。
我使用上面的组合来向分包商(通常是完全的计算机傀儡)提供一个(公司私有的)应用程序。您可以使用安装程序管理所有目标计算机自定义(例如,为安装的文件设置适当的访问权限,以便以后进行更新)。
您也可以考虑不提供任何专门的64位版本来减少大小。如果程序员在32位VM上运行良好,那么在64位(JRE)版本中就不会为用户增加任何价值。在大多数情况下,性能上的差异是不可忽视的,如果您不使用超大的堆(>1 1GB),那么提供额外的64位JRE是浪费时间。
发布于 2012-08-27 15:32:58
你可以看看J9,根据IBM的说法,它支持AOT,应该存在于64版本中
https://stackoverflow.com/questions/12137590
复制相似问题