Java 如何用Xlint编译Maven项目
有没有一种方法可以通过命令行将编译器参数传递给Maven?我知道我可以在Java 如何用Xlint编译Maven项目,java,maven,compilation,Java,Maven,Compilation,有没有一种方法可以通过命令行将编译器参数传递给Maven?我知道我可以在编译器插件中指定,但我也希望从命令行运行Xlint。所以我尝试了类似的方法 mvn clean install -DskipTests=true -DcompilerArgument=-Xlint:deprecation 但是没有成功。您可以这样定义编译器插件: <plugin> <artifactId>maven-compiler-plugin</artifactId>
编译器插件
中指定,但我也希望从命令行运行Xlint
。所以我尝试了类似的方法
mvn clean install -DskipTests=true -DcompilerArgument=-Xlint:deprecation
但是没有成功。您可以这样定义编译器插件:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgument>${compilerArgument}</compilerArgument>
</configuration>
</plugin>
如果您没有传递-DcompilerArgument
,它将不会中断生成,因为编译器插件参数中的“compilerArgument”将为空并被忽略。对于这种具体情况(弃用警告),实际上存在一个:
与compilerArgument解决方案相反,这在maven进程内使用编译器时也有效,而不仅仅是在使用fork=true时
类似有用的属性是
maven.compiler.showWarnings
不错,但我希望会有一些默认参数,这样我就可以保持我的pom.xml
不变。但是很好的解决方法,谢谢幸运的是,for附加参数中没有一个具有默认用户属性。谢谢,对于懒惰的:-Dmaven.compiler.showDeprecation
(没有=true
)也可以:)
mvn -DcompilerArgument=-Xlint:deprecation compile
mvn clean install -Dmaven.compiler.showDeprecation=true