2016-01-17 57 views

回答

2

compilerArgs

设置参数传递到编译器,如果叉设置为true。例如:

<compilerArgs> 
    <arg>-Xmaxerrs=1000</arg> 
    <arg>-Xlint</arg> 
    <arg>-J-Duser.language=en_us</arg> 
</compilerArgs> 

这些观点只创建一个新的JVM这就是分叉是当意义。如果你没有fork,编译器就会像Maven本身一样运行在同一个JVM中。

+0

它有没有一些机制可以将参数传递给编译的实际模块? –

+0

这是用来配置一个新的JVM--一个运行javac的 - 并且与实际的编译部分没有任何关系。 –

+1

@ThorbjørnRavnAndersen不是真的:-Xlint是一个javac选项,而不是JVM选项。所以是-Xmaxerrs = 1000。在Maven JVM中运行编译器之前,最后一个可以设置为属性。 –

1

因为如果fork未设置为true,则编译过程发生在运行Maven的同一个JVM实例中。 JVM参数将与Maven运行的实例的JVM参数相同。当启用分支时,编译会发生在JVM的新实例上,您可以设置新实例的参数。

相关问题