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
?
java
compiler-errors
unchecked
Dave Fisher
fuente
fuente
-Xlint:unchecked
a la línea de comando que está ejecutando, tal como lo indica el mensaje.Respuestas:
Especifíquelo en la línea de comando para javac:
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
fuente
<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"
.fuente
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" } }
fuente
Compile
ha cambiado de nombreJavaCompile
, 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>();
fuente
Hay otra forma de gradle:
compileJava { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
fuente
tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } }
Para Android Studio, agregue lo siguiente a su
build.gradle
archivo de nivel superior dentro delallprojects
bloquetasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
fuente
En CMD, escriba:
mostrará la lista de operaciones no seleccionadas o inseguras.
fuente
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 etiquetadoAdditional Compiler Options
configure laXlint:unchecked
opción.Por lo tanto, la configuración permanecerá establecida cada vez que compile el proyecto.
fuente
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']
fuente
otra forma de compilar usando -Xlint: sin marcar a través de la línea de comando
mostrará las advertencias inseguras y sin marcar.
fuente
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".
fuente