【问题标题】:How to strip down JVM to get the smallest install possible?如何剥离 JVM 以获得尽可能小的安装?
【发布时间】:2009-12-07 00:53:31
【问题描述】:

我有一个要部署的 Java 应用程序,并希望与它一起部署 JVM(以简化安装)。我想让 JVM 被剥离,只包含应用程序需要保持可分发的小部分。如何剥离 JVM 以减小大小?这可以通过Java Kernel 来完成,还是有一些替代Sun JVM 的替代品,安装量要小得多?我的目标平台是 Windows。

【问题讨论】:

  • Java 内核看起来就像您正在寻找的那样。但是为什么不只依赖标准的 JVM 安装呢?它由其他人捆绑和维护;为什么要把事情复杂化?
  • 主要是因为应用程序本身非常小,我不希望 85+ MB 的 JVM 来运行它。也许我应该使用 Java 以外的东西......
  • 将您的代码转换为 C#,用户必须安装 400+ MB 的 .net 框架。
  • 你从哪里得到你的号码? Windows 的完整 JVM(不含 JDK)为 15.90 MB,Java 内核为 680 KB。
  • 在我的机器上 C:\Program Files\java\jre6 的大小超过 85MB。

标签: java jvm installation


【解决方案1】:

我认为您的要求是混杂的:使用应用程序部署 JVM 可以简化您的工作,因为您不必担心 JVM 版本 - 但对于不使用 JVM 的用户来说可能会很烦恼不想为了让程序员的工作更轻松而安装数十个 JVM。您不应该像担心分布大小一样担心吗?

我想说,您能做的最好的事情就是使用Deployment Toolkit JavaScript 通过Java WebStart 部署您的应用程序并指定Java 内核安装。这可确保仅在实际需要时安装新的 JVM。其余时间它不需要安装任何东西,除了你的应用程序 - 最好的情况。

【讨论】:

  • 对于像我妈妈这样的人来说更是如此,他们不会理解为什么他们要安装的程序要求这个 Java 东西。如果我可以为包含的 JVM 使用非常小的东西,那么我不必担心用户必须尝试管理应用程序 + JVM 安装。
  • 我看不出尺寸与安装的难易程度有什么关系。
【解决方案2】:

这里有三个想法:

  • 使用GCJ 将您的应用程序编译为机器码,然后添加您需要的classpath 的哪些部分。
  • 下载Kaffe,去掉不需要的部分。
  • 抓住Java source code,去掉不需要的部分。

祝你好运。

【讨论】:

    猜你喜欢
    • 2012-06-11
    • 1970-01-01
    • 2011-12-11
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    相关资源
    最近更新 更多