有没有办法通过命令行将编译器参数传递给 Maven?我知道我可以指定它,compiler-plugin
但我也想从命令行运行Xlint
。所以我尝试了类似的东西
mvn clean install -DskipTests=true -DcompilerArgument=-Xlint:deprecation
但没有成功。
有没有办法通过命令行将编译器参数传递给 Maven?我知道我可以指定它,compiler-plugin
但我也想从命令行运行Xlint
。所以我尝试了类似的东西
mvn clean install -DskipTests=true -DcompilerArgument=-Xlint:deprecation
但没有成功。
对于这种具体情况(弃用警告),实际上有一个可以从命令行使用的属性:
mvn clean install -Dmaven.compiler.showDeprecation=true
与 compilerArgument 解决方案相反,这也适用于在 maven 进程中使用编译器,而不仅仅是在使用 fork=true 时。
一个类似有用的属性是maven.compiler.showWarnings
。
您可以像这样定义编译器插件:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgument>${compilerArgument}</compilerArgument>
</configuration>
</plugin>
然后从命令行传递参数:
mvn -DcompilerArgument=-Xlint:deprecation compile
如果不通过-DcompilerArgument
,它不会破坏构建,因为编译器插件参数中的 'compilerArgument' 将为空并被忽略。