用于构建Java应用程序而不依赖于JRE的软件

时间:2010-05-26 20:36:02

标签: java installer packaging

我正在寻找像Excelsior这样的软件。 你们推荐哪个? (或者你是否推荐Excelsior?)

编辑:我正在寻找EXE的发电机。但我以后也需要找一个混淆器,如果我在一个软件中同时使用它会很好。优化不是目标。

3 个答案:

答案 0 :(得分:2)

几年前我使用过Excelsior。根据我的经验,它在锡上做了它所说的。我相信新版本不仅被认证为符合Java标准(通过TCK),而且还提供小于等效JRE的下载。

我不希望在运行时进行任何动态编译(=更大的下载大小),因此有必要事先知道运行时使用的所有类。这类似于使用混淆器的问题 - 静态分析不会发现通过反射加载的类。 IIRC,一个工具随编译器提供,该编译器将在运行时加载的所有类写入文件,然后可用于定义编译为本机代码的类。我们制定了一个测试计划来执行应用程序的所有功能,以确保所有类都已加载。

我会推荐它吗?可能,这取决于你想要它的原因。我的用例是我想避免用户下载JRE。既然大多数安装程序都能够自动化/协助获取JRE,我发现它的需求较少,所以我们停止使用Excelsior。

答案 1 :(得分:1)

不确定Excelsior是什么,但如果你需要它的提前编译器,你有GCJ。但是不要指望它“在没有任何源代码更改的情况下加速您的应用程序”(阅读:http://en.wikipedia.org/wiki/Gcj#Performance

答案 2 :(得分:1)

披露:我是Excelsior LLC的营销总监。

您分配给问题的标签表明您正在购买支持Java的安装程序。如果是这样,并且你不关心 download size protection from decompilers ,启动时间等等,Excelsior JET(这是正确的)我们的产品名称btw)绝对是一种矫枉过正。许多替代方案,免费和商业,都列在 my article about converting Java to EXE 中,特别是关于Java启动器和包装器以及Java感知设置创作工具的部分。