gpt4 book ai didi

java - 我如何通过 -Xlint :deprecation or -Xlint:unchecked to Maven?

转载 作者:行者123 更新时间:2023-12-01 12:55:55 28 4
gpt4 key购买 nike

当我构建我的项目时,我收到如下错误:

[INFO] SomeClass.java: Some input files use or override a deprecated API.
[INFO] SomeClass.java: Recompile with -Xlint:deprecation for details.
[INFO] SomeClass.java: Some input files use unchecked or unsafe operations.
[INFO] SomeClass.java: Recompile with -Xlint:unchecked for details.

但是当我把 -Xlint:deprecation-Xlint:unchecked在我的 MAVEN_OPTS.mvn/maven.config我得到:
$ MAVEN_OPTS="-Xlint:unchecked " mvn -B clean test 
Unrecognized option: -Xlint:unchecked
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

是什么赋予了?

最佳答案

-Xlint是编译器选项,而不是 maven 选项或 jvm 选项。

在命令行 maven 接受 -Xlint但它把它当作 -X maven 选项(“调试”)并忽略其余部分。所以没有达到预期的效果。

在这两个编译器选项的特定情况下,您可以设置 Maven 属性,从而设置所需的编译器选项。将这些放在您项目的 .mvn/maven.config 中, MAVEN_OPTS env var,或在命令行上:

-Dmaven.compiler.showWarnings=true
-Dmaven.compiler.showDeprecation=true

maven compiler plugin .

您也可以使用 compilerArgs您的属性(property) pom.xml或 Maven settings.xml用户定义的配置文件。我没有看到将 List 值属性设置为系统属性的方法。您不能使用 compilerArgumentcompilerArguments要么,他们 don't have user properties .

您可能还会发现控制编译器的日志级别很有用;例如,您可以通过以下方式使这些警告静音:
-Dorg.slf4j.simpleLogger.log.org.apache.maven.plugin.compiler.CompilerMojo=warn

注意明确设置 -Dmaven.compiler.showWarnings=false不会压制 -Xlint消息。见 How can I suppress javac warnings about deprecated api? . Maven 似乎没有提供设置相关属性的方法 -Xlint:-deprecated -Xlint:-unchecked在命令行上。您不能直接设置它们 settings.xml要么是因为您无法设置单个插件属性。它必须是 pom.xml .

关于java - 我如何通过 -Xlint :deprecation or -Xlint:unchecked to Maven?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56161021/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com