gpt4 book ai didi

java - Ant javac 任务运行可执行文件而不是 java 类

转载 作者:行者123 更新时间:2023-12-01 15:50:01 28 4
gpt4 key购买 nike

我几乎可以肯定,如果不编写自己的任务类,我就无法真正做到这一点,但我想我还是会问。是否有一些神奇的属性或 Ant 任务的工作原理就像 <javac> ,但运行我的 $JAVA_HOME/bin/javac可执行文件,而不是运行 $JAVA_HOME/lib/tools.jar 中 javac 类的代码?我想要这样做的原因是因为我可以更改 javac 二进制文件以始终使用 Xlint 进行编译,如果周围的所有 build.xml 文件也都这样做而无需编辑它们,那就太好了。 (有些通过其他任务进行隐式 javac 调用...) <javac> 的编译器属性用于类代码,它不允许您简单地指定要运行的文件。

最佳答案

Javac任务具有fork 属性,同时也具有executable 属性。将这些结合起来。

此外,您可能想要设置compiler=extJavac,尽管我不确定这是否会改变某些内容。

以下是示例部分的引用:

If you want to run the javac compiler of a different JDK, you should tell Ant, where to find the compiler and which version of JDK you will be using so it can choose the correct command line switches. The following example executes a JDK 1.1 javac in a new process and uses the correct command line switches even when Ant is running in a Java VM of a different version:

  <javac srcdir="${src}"
destdir="${build}"
fork="yes"
executable="/opt/java/jdk1.1/bin/javac"
compiler="javac1.1"
/>

关于java - Ant javac 任务运行可执行文件而不是 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287027/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com