Ant手册(https://ant.apache.org/manual/install.html)指出:
注意:如果不存在JDK,则只有运行时(JRE),那么许多任务将无法工作。
我们正在尝试使JDK脱离我们的环境,仅使用JRE,这是我们使用的最后一个需要JDK的应用程序,但它不提供自己的副本。
我们已经在JRE上使用Ant进行了测试,到目前为止,我们使用的所有Task均未在JRE下失败。在我们进行此更改之前,是否有人知道JRE无法使用哪些Task?我们只是不想朝自己的脚下开枪。
答案 0 :(得分:2)
实际上事情是二进制的:您执行的Ant任务需要JDK,例如编译任务(javac
),在这种情况下,由于JRE没有编译器可执行文件,Ant构建将失败。否则您的任务不需要JDK(例如文件复制任务),在这种情况下,Ant构建将能够处理该任务。
请注意,官方文档还指出,对于当前版本(1.10),JDK会按要求显示:
对于当前版本的Ant(1.10),您还需要一个JDK 必须安装在系统上,版本8或更高版本。越多 最新的Java版本,您将获得更多的Ant任务。
因此,为了防止出现任何副作用,根据所使用的版本,应确保使用JDK而不是JRE。
答案 1 :(得分:1)
答案 2 :(得分:1)
首先,它有助于理解JDK和JRE之间的区别。
JRE是运行Java应用程序所必需的一切。它包含JVM以及一些操作工具和浏览器插件。
JDK包含JRE,Java编译器,文档生成和调试工具。
任何Ant编译和文档编制任务都需要JDK,因为这是包含要尝试执行的工具的软件包。
不依赖JDK附带的其他工具的任务将正常运行。
绝对需要JDK的任务:Depend,Javac,JspC,Javadoc,Javah
参考文献: