Java 如何用Xlint编译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>

有没有一种方法可以通过命令行将编译器参数传递给Maven?我知道我可以在
编译器插件
中指定,但我也希望从命令行运行
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