【问题标题】:class file size difference when running javac ant in eclipse and command line在 Eclipse 和命令行中运行 javac ant 时的类文件大小差异
【发布时间】:2013-09-03 13:04:34
【问题描述】:

我正在使用 ant javac 运行 java 代码。我在 Eclipse 和命令行中运行了 ant 脚本。但是 Java 类文件的大小不同。您能否解释一下为什么在 Eclipse 和命令行中使用 javac ant 脚本时会出现大小差异。以及如何解决。

【问题讨论】:

  • 你能看一下eclipse用于javac的编译器参数吗?这些是什么?你在命令行上使用什么?并且在这两种情况下都是相同的 JDK,对吧?

标签: java eclipse ant


【解决方案1】:

Java 编译器可能会也可能不会在我知道的字节码中包含以下内容:

  • Java 注释
  • Javadoc 特定信息

调用时实际的javac 参数之间应该存在差异。检查 Ant 的配置和 javac 的默认参数值。目标 Java 平台版本也可能不同,这会导致 .class 文件大小不同。

如果使用多个 JDK-s,当然这也意味着不同的类文件大小。

【讨论】:

    【解决方案2】:

    javac 默认只生成调试信息中的行号(参见 javac -g)。在 Eclipse 中,编译器类文件生成选项中的所有变量、行和源代码都已启用。

    【讨论】:

      【解决方案3】:

      没有什么可以“解决”的; Eclipse 使用它自己的内置增量编译器,编译器从相同的程序产生略微不同的输出是完全常见的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-23
        • 2012-10-22
        • 1970-01-01
        • 2012-04-06
        相关资源
        最近更新 更多