我正在尝试通过命令行覆盖 Ant 编译器属性,以便所有“javac”任务都使用我指定的编译器。我遇到的问题是任何为编译器设置自己的值的目标都会覆盖我在命令行中设置的目标。所以,即使我正在输入以下命令。
ant -Dbuild.compiler=mycompiler
由于该 compiler="modern" 属性,任何具有以下内容的目标都将使用现代编译器而不是 mycompiler
<javac srcdir="."
destdir="${classes.dir}/core"
compiler="modern"
encoding="UTF-8">
<include name="org/**" />
<include name="com/**" />
<compilerarg line="${config.build.compilerarg}" />
</javac>
有什么方法可以从命令行覆盖它,还是我一直在编辑构建文件?