有没有办法通过命令行将编译器参数传递给Maven?我知道我可以在compiler-plugin中指定它,但我也想从命令行运行Xlint。所以我尝试了类似

mvn clean install -DskipTests=true -DcompilerArgument=-Xlint:deprecation

但没有成功。

最佳答案

您可以这样定义一个编译器插件:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <compilerArgument>${compilerArgument}</compilerArgument>
    </configuration>
</plugin>

然后从命令行传递参数:
mvn -DcompilerArgument=-Xlint:deprecation compile

如果不传递-DcompilerArgument,它将不会中断构建,因为编译器插件参数中的'compilerArgument'将为空并被忽略。

10-02 08:05