如何使用Java 10及更高的Java中跳过Javah任务



我的build.xml中有一个javah任务。javah任务不再适用于Java 10及更高的功能,因此我将nativeHeaderDir添加到javac任务中,并且工作正常。但是,我仍然想保留javah任务,因此相同的build.xml适合较旧的Java。

仅在使用Java 10及更高的Java运行时才能使ANT跳过javah任务?更一般而言,有什么方法可以根据Java版本切换build.xml中的执行路径?或者,还有其他标准方法可以将javah任务从旧的Java迁移到Java 10/11,而向后兼容?

使用由ANT 1.10.2或更高的<javaversion>条件。

来自蚂蚁邮件列表:

最新版本的蚂蚁(启动1.10.2(具有" javaversion"您可以用来设置"属性"的条件,然后与" if"/"用于目标上的" if"/"。这是一个例子:

<target name="the-one-which-has-javah-task" depends="check-java-version"
unless="java10+">
    ...
</target>   
<target name="check-java-version">
    <condition property="java10+">
      <javaversion atleast="10"/>
    </condition>
</target>

最新更新