我们刚刚发布了Apache Ant的1.9.13和1.10.5版本 。 与往常一样,您可以从Ant项目下载页面下载它。
这两个版本主要是错误修复版本。 但是,1.10.5版对“ java”任务进行了新的增强。 正如我之前写的那样 ,Java 11引入了一项新功能,您可以执行单文件Java程序,而不必先显式编译它们。 Ant 1.10.5版本现在通过“ java”任务中的新“ sourcefile”属性支持此功能。 有关该任务的更多信息,请参见该任务的手册 。
“ java”任务的此新功能的简单用法示例如下:
<project default="launch-java" name="Java 11 - launch single-file source program">
<target name="launch-java"
description="Simple example of single-file source program execution,
introduced in Java 11">
<!-- Make sure Java 11 version is being used -->
<condition property="java11">
<javaversion atleast="11"/>
</condition>
<fail unless="java11">Java 11 runtime version is necessary to run this example</fail>
<mkdir dir="${basedir}/javasource"/>
<!-- Write out simple Java code into a file -->
<echo file="${basedir}/javasource/HelloWorld.java">
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.BufferedWriter;
public class HelloWorld {
public static void main(String[] args) throws Exception {
System.out.println("Hello world, " + args[0] + "!");
}
}
</echo>
<!-- launch the Java source file, using the "sourcefile" attribute -->
<java sourcefile="${basedir}/javasource/HelloWorld.java" fork="true" failonerror="true" logerror="true">
<arg value="Java 11"/>
</java>
</target>
</project>
您会注意到,构建文件使用“ java”任务来设置“ sourcefile”属性以指向Java源文件。 “ java”任务的其余用法详细信息,包括将参数传递给程序,均保持与以前相同。
在此生成文件上运行“ ant”时,应该看到以下输出:
Hello world, Java 11!
当然,您将需要使用Java 11二进制文件对其运行。 您可以从此处获得早期可访问的Java 11二进制文件。
翻译自: https://www.javacodegeeks.com/2018/07/apache-ant-supports-single-file-source-programs.html