【问题标题】:How to build a jar with different java version with ANT如何使用 ANT 构建具有不同 java 版本的 jar
【发布时间】:2026-01-04 13:40:01
【问题描述】:

我尝试使用 java 1.5 构建一个 jar 文件。我使用 ecrise,并在以下区域将 java 版本指定为 1.5。

  • 项目 -> 属性 -> Java 编译器
  • 项目 -> Java 构建路径 -> JRE 系统库
  • Ant 构建文件 -> 运行方式 -> ExternalToolConfiguration -> JRE

但是在构建 jar 之后,所有的类都是在 1.7(主要版本 51)中构建的,我希望它们在 1.5 中。(49) 这是javap -verbose MyClassInBuiltJar的结果

SourceFile: "Program.java"
minor version: 0
major version: 51
Constant pool:

【问题讨论】:

标签: java eclipse ant


【解决方案1】:

可能不是 ANT 导致问题,您可能需要更改项目的 JRE 并使用 1.5 JRE 重新编译项目。

您也可以尝试在 build.xml 文件中直接指定使用的 JRE。

【讨论】:

  • 你是真正的semihyagcioglu。这不是 ANT 问题。
【解决方案2】:

您可以在 javac ant 任务中使用 source=1.5 和 target=1.5。 详情见这里javac

【讨论】:

    【解决方案3】:

    需要在build.xml中明确指定源和目标:

    <property name="javac.source"  value="1.5"/>
    <property name="javac.target"  value="1.5"/>
    <javac source="${javac.source}"  target="${javac.target}">
    

    【讨论】:

    • 感谢 tigran 的支持。