如何使用-Xlint进行编译:未选中?
编译我的代码时收到一条消息:
Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
我如何用-Xlint:unchecked
重新编译-Xlint:unchecked
?
在命令行上为javac指定它:
javac -Xlint:未选中
或者如果你正在使用Ant修改你的javac目标
<javac ...> <compilerarg value="-Xlint"/> </javac>
如果您正在使用Maven,请在maven-compiler-plugin
<compilerArgument>-Xlint:unchecked</compilerArgument>
对于IntelliJ 13.1 ,进入文件 – > 设置 – > 项目设置 – > 编译器 – > Java编译器 ,并在右侧, Additional command line parameters
input"-Xlint:unchecked"
。
我知道这听起来很奇怪,但我很确定这是你的问题:
在MyGui.java中的某处,您正在使用generics集合而不指定types。 例如,如果你在某个地方使用ArrayList,你是这样做的:
List list = new ArrayList();
当你应该这样做时:
List<String> list = new ArrayList<String>();
还有另外一种方法来实现gradle:
compileJava { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
在gradle项目中,您可以通过以下方式添加此编译参数:
gradle.projectsEvaluated { tasks.withType(Compile) { options.compilerArgs << "-Xlint:unchecked" } }
在CMD中,写下:
javac -Xlint:unchecked MyGui2.java
它会显示未经检查或不安全操作的列表。
如果您使用NetBeans等IDE,则可以在项目的属性中指定Xlint:unchecked
编译器选项。
只需进入项目窗口,右键单击项目,然后单击Properties
。
在出现的窗口中search“ Compiling
类别,并在标有“ Additional Compiler Options
的文本框中设置Xlint:unchecked
选项。
因此,每次编译项目时,设置都将保持设置。
指定Gradle编译器参数的更简洁的方法如下:
compileJava.options.compilerArgs = ['-Xlint:unchecked',' – Xlint:deprecation']
其他使用-Xlint进行编译的方法:通过命令行取消选中
javac abc.java -Xlint:未选中
它会显示未经检查和不安全的警告。
对于IntelliJ 15来说,为了达到这些设置,FYI已经发生了变化,新的和改进的更深入的埋葬!
现在是:File> Other Settings> Default Settings>'Build,Execution,Deployment'> Compiler> Java Compiler
在其他命令行参数中,与之前一样,写入“-Xlint:unchecked”。