如何使用 -Xlint:unchecked 进行编译?

问题描述 投票:0回答:12

编译代码时收到一条消息:

Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

如何使用

-Xlint:unchecked
重新编译?

java compiler-errors unchecked
12个回答
58
投票

在 javac 的命令行中指定:

javac -Xlint:未选中

或者如果您使用 Ant 修改您的 javac 目标

  <javac ...>
    <compilerarg value="-Xlint"/>
  </javac> 

如果您使用 Maven,请在

maven-compiler-plugin

中进行配置
<compilerArgument>-Xlint:unchecked</compilerArgument>

54
投票

对于 IntelliJ 13.1,转到 File -> Settings -> Project Settings -> Compiler -> Java Compiler,然后在右侧,对于

Additional command line parameters
输入
"-Xlint:unchecked" 
.


37
投票

在gradle项目中,您可以通过以下方式添加此编译参数:

gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xlint:unchecked"
    }
}

23
投票

我知道这听起来很奇怪,但我很确定这是你的问题:

在 MyGui.java 中的某个地方,您正在使用通用集合而不指定类型。例如,如果您在某处使用 ArrayList,则您正在执行以下操作:

List list = new ArrayList();

当你应该这样做时:

List<String> list = new ArrayList<String>();

18
投票

gradle还有另一种方式:

compileJava {
    options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}

6
投票

对于 Android Studio,请将以下内容添加到

build.gradle
块中的顶级
allprojects
文件中

tasks.withType(JavaCompile) {
    options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" 
}

3
投票

在 CMD 中写入:

javac -Xlint:unchecked MyGui2.java

它将显示未检查或不安全操作的列表。


3
投票

如果您使用 NetBeans 等 IDE,则可以在项目属性中指定

Xlint:unchecked
编译器选项。

只需转到项目窗口,右键单击项目,然后单击

Properties

在出现的窗口中搜索

Compiling
类别,然后在标记为
Additional Compiler Options
的文本框中设置
Xlint:unchecked
选项。

因此,每次编译项目时该设置都将保持不变。


2
投票

指定 Gradle 编译器参数的更简洁方法如下:

compileJava.options.compilerArgs = ['-Xlint:unchecked','-Xlint:deprecation']

2
投票

使用 -Xlint 进行编译的其他方式:通过命令行取消选中

javac abc.java -Xlint:unchecked

它会显示未经检查和不安全的警告。


0
投票

仅供参考,IntelliJ 15 的这些设置已更改,新的和改进的更深埋藏!

现在是:文件>其他设置>默认设置>“构建、执行、部署”>编译器> Java编译器

并在附加命令行参数中,与以前相同,写入“-Xlint:unchecked”。


0
投票

2024年的答案:

在应用程序级别

build.gradle
文件中添加以下代码并再次构建您的应用程序。

android {
    // ...

        tasks.withType(JavaCompile).tap {
            configureEach {
                options.compilerArgs += '-Xlint:unchecked'
            }
        }

    // ...
}
© www.soinside.com 2019 - 2024. All rights reserved.