Recibo un mensaje cuando compilo mi código:
Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
¿Cómo recompilo con -Xlint:unchecked
?
Recibo un mensaje cuando compilo mi código:
Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
¿Cómo recompilo con -Xlint:unchecked
?
Respuestas:
Especifíquelo en la línea de comando para javac:
javac -Xlint: sin marcar
O si está utilizando Ant, modifique su objetivo javac
<javac ...>
<compilerarg value="-Xlint"/>
</javac>
Si está utilizando Maven, configúrelo en el maven-compiler-plugin
<compilerArgument>-Xlint:unchecked</compilerArgument>
<compilerArgument>
pasa por debajo <configuration>
, no dentro de la `<compilerArguments>' elemento. Tonto de mí.
Para IntelliJ 13.1 , vaya a File-> Settings-> Project Settings-> Compiler-> Java Compiler, y en el lado derecho, para Additional command line parameters
ingresar "-Xlint:unchecked"
.
En el proyecto gradle, puede agregar este parámetro de compilación de la siguiente manera:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked"
}
}
Compile
ha cambiado de nombre JavaCompile
, por lo que estasks.withType(JavaCompile) { ... }
allprojects { // ... }
Sé que suena extraño, pero estoy bastante seguro de que este es tu problema:
En algún lugar de MyGui.java estás usando una colección genérica sin especificar el tipo. Por ejemplo, si está utilizando una ArrayList en algún lugar, está haciendo esto:
List list = new ArrayList();
Cuándo deberías hacer esto:
List<String> list = new ArrayList<String>();
Hay otra forma de gradle:
compileJava {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } }
En CMD, escriba:
javac -Xlint:unchecked MyGui2.java
mostrará la lista de operaciones no seleccionadas o inseguras.
Si trabaja con un IDE como NetBeans, puede especificar la Xlint:unchecked
opción del compilador en las propiedades de su proyecto.
Simplemente vaya a la ventana de proyectos, haga clic derecho en el proyecto y luego haga clic en Properties
.
En la ventana que aparece busque la Compiling
categoría y en el cuadro de texto etiquetado Additional Compiler Options
configure la Xlint:unchecked
opción.
Por lo tanto, la configuración permanecerá establecida cada vez que compile el proyecto.
A continuación, se muestra una forma más limpia de especificar los argumentos del compilador de Gradle:
compileJava.options.compilerArgs = ['-Xlint:unchecked','-Xlint:deprecation']
otra forma de compilar usando -Xlint: sin marcar a través de la línea de comando
javac abc.java -Xlint:unchecked
mostrará las advertencias inseguras y sin marcar.
Para su información, el acceso a esta configuración ha cambiado para IntelliJ 15, ¡nuevo y mejorado para un entierro aún más profundo!
Ahora es: Archivo> Otras configuraciones> Configuración predeterminada> 'Compilación, ejecución, implementación'> Compilador> Compilador de Java
Y en Parámetros adicionales de la línea de comandos, igual que antes, escriba "-Xlint: unchecked".
-Xlint:unchecked
a la línea de comando que está ejecutando, tal como lo indica el mensaje.