【问题标题】:Installing multiple versions of ant on same machine在同一台机器上安装多个版本的ant
【发布时间】:2017-04-11 18:57:13
【问题描述】:

我想运行不同的项目,其中一个在 Java8 上运行,另一个在 Java7 上运行。我在我的 Mac 上安装了最新的 ant 版本 1.10。如果我将JAVA_HOME 设置为 java7,则 ant 执行失败并显示

线程“主”java.lang.UnsupportedClassVersionError 中的异常:org/apache/tools/ant/launch/Launcher:不支持的major.minor 52.0 版

(Ant 1.9 在 Java7 上运行)

【问题讨论】:

  • 查看 jenv 或指向确切的位置。
  • 我建议评估 sdkman 工具。它使您能够安装多个版本的 Java 和 ANT。请参阅:sdkman.io 另一个合法的选择是安装像 virualbox 这样的虚拟化软件来在虚拟机中运行构建,最后总是有 Docker

标签: java ant java-8 java-7


【解决方案1】:

根据蚂蚁的home page

Apache Ant 团队目前维护两条开发线。 1.9.x 版本在运行时需要 Java5,而 1.10.x 在运行时需要 Java8。

所以您需要将 JAVA_HOME 设置为 JDK 8 才能运行 Ant 1.10。但这只是为了运行 Ant 本身,这与您的项目无关。换句话说,没有必要使用多个版本的 Ant 来编译使用两个不同 Java 版本的两个项目。 Ant 1.10.x 可用于这两个项目。您可以从构建文件的任务中控制 Java 版本。例如javac任务支持使用不同的JDK版本进行编译:

<javac srcdir="${src}"
     destdir="${build}"
     classpath="xyz.jar"
     debug="on"
     source="1.4"
/>

【讨论】:

    最近更新 更多