从文档中:
如果 fork 设置为 true,则设置要传递给编译器的参数。
为什么需要分叉才能使用自定义参数?
compilerArgs
:如果 fork 设置为 true,则设置要传递给编译器的参数。例子:
<compilerArgs> <arg>-Xmaxerrs=1000</arg> <arg>-Xlint</arg> <arg>-J-Duser.language=en_us</arg> </compilerArgs>
这些论点只有在创建一个新的 JVM 时才有意义,这就是分叉的用途。如果您不分叉,编译器将在与 Maven 本身相同的 JVM 中运行。
因为如果 fork 未设置为 true,则编译过程发生在运行 Maven 的同一 JVM 实例中。JVM args 将与 Maven 正在运行的实例的 JVM args 相同。启用分叉后,编译发生在 JVM 的新实例上,您可以设置该新实例的参数。