如何使用-Xlint进行编译:未选中?

时间:2011-11-21 17:19:42

标签: java compiler-errors unchecked

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

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

如何使用-Xlint:unchecked重新编译?

11 个答案:

答案 0 :(得分:45)

在javac的命令行中指定它:

  

javac -Xlint:未选中

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

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

如果您使用的是Maven,请在maven-compiler-plugin

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

答案 1 :(得分:41)

对于 IntelliJ 13.1 ,请转到文件 - &gt; 设置 - &gt; 项目设置 - &gt; 编译器 - &gt; Java编译器,在右侧,Additional command line parameters输入"-Xlint:unchecked"

答案 2 :(得分:17)

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

在MyGui.java中的某个地方,您使用的是通用集合而未指定类型。例如,如果你在某处使用ArrayList,那么你就是这样做的:

List list = new ArrayList();

当你应该这样做时:

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

答案 3 :(得分:17)

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

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

答案 4 :(得分:12)

gradle有另一种方法:

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

答案 5 :(得分:3)

在CMD中,写一下:

javac -Xlint:unchecked MyGui2.java

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

答案 6 :(得分:3)

如果使用NetBeans之类的IDE,则可以在项目的属性中指定Xlint:unchecked编译器选项。

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

在显示的窗口中搜索Compiling类别,并在标有Additional Compiler Options的文本框中设置Xlint:unchecked选项。

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

答案 7 :(得分:1)

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

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

答案 8 :(得分:0)

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

javac abc.java -Xlint:未选中

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

答案 9 :(得分:0)

对于IntelliJ 15,我们进行这些设置已经改变了,对于更深层次的埋葬来说是新的和改进的!

现在它:文件&gt;其他设置&gt;默认设置&gt; &#39;构建,执行,部署&#39; &GT;编译器&gt; Java编译器

在附加命令行参数中,与之前相同,写入&#34; -Xlint:unchecked&#34;。

答案 10 :(得分:0)

对于Android Studio,将以下内容添加到build.gradle块中的顶级allprojects文件中

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