warning de Java: uses or overrides a deprecated API

publicado por: Anonymous

Cuando quiero crear la carpeta /dist y que contenga dentro las librerias en /lib, además del .jar con el cual quiero trabajar más adelante para crear un .exe, entonces me encuentro con una serie de warnings al hacer “Clean and build” en un programa de Netbeans.

PD: He probado a eliminar la carpeta /dist una vez generada, para ver si el warning sólo ocurría si la carpeta /dist ya existía previmente pero nada.

Created dir: C:UsersOsmarDesktopAgendaagendabuild
Updating property file: C:UsersOsmarDesktopAgendaagendabuildbuilt-jar.properties
Created dir: C:UsersOsmarDesktopAgendaagendabuildclasses
Created dir: C:UsersOsmarDesktopAgendaagendabuildempty
Created dir: C:UsersOsmarDesktopAgendaagendabuildgenerated-sourcesap-source-output
Compiling 17 source files to C:UsersOsmarDesktopAgendaagendabuildclasses
Note: C:UsersOsmarDesktopAgendaagendasrcinterfazLogin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Copying 11 files to C:UsersOsmarDesktopAgendaagendabuildclasses
compile:
Created dir: C:UsersOsmarDesktopAgendaagendadist
Copying 1 file to C:UsersOsmarDesktopAgendaagendabuild
Copy libraries to C:UsersOsmarDesktopAgendaagendadistlib.
Building jar: C:UsersOsmarDesktopAgendaagendadistagenda.jar
To run this application from the command line without Ant, try:
java -jar "C:UsersOsmarDesktopAgendaagendadistagenda.jar"
jar:
BUILD SUCCESSFUL (total time: 1 second)

Warning:

Note: C:UsersOsmarDesktopAgendaagendasrcinterfazLogin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Deduzco que sean warning y no errores porque el programa me compila y funciona correctamente. Ejecuto el .jar y funciona, ¿pero por qué me genera ese código de advertencia? ¿Cómo puedo eliminar esas advertencias?

Estoy utilizando JDK1.8 con Netbeans 8.0.2 en Windows 8.1.

introducir la descripción de la imagen aquí

Algunos de mis warnings después de hacer: abrir el archivo nbproject/project.properties, buscar la clave javac.compilerargs y definir su valor como: -Xlint:deprecation -Xlint:unchecked.

C:UsersOsmarDesktopAgendaagendasrcinterfazListado_clientes.java:88: warning: [unchecked] unchecked call to TableRowSorter(M) as a member of the raw type TableRowSorter
            TableRowSorter sorter = new TableRowSorter(modelo);
  where M is a type-variable:
    M extends TableModel declared in class TableRowSorter
C:UsersOsmarDesktopAgendaagendasrcinterfazListado_clientes.java:89: warning: [unchecked] unchecked method invocation: method setRowSorter in class JTable is applied to given types
            tabla_clientes.setRowSorter(sorter);
  required: RowSorter<? extends TableModel>
  found: TableRowSorter
C:UsersOsmarDesktopAgendaagendasrcinterfazListado_clientes.java:89: warning: [unchecked] unchecked conversion
            tabla_clientes.setRowSorter(sorter);
  required: RowSorter<? extends TableModel>
  found:    TableRowSorter
C:UsersOsmarDesktopAgendaagendasrcinterfazListado_clientes.java:461: warning: [unchecked] unchecked conversion
            ArrayList<Cliente> clientes = Conexiones.listado_clientes();
  required: ArrayList<Cliente>
  found:    ArrayList

solución

Como bien indica la salida del Clean and Build que compartes, lo que ocurre es que estás usando APIs marcadas como deprecated además de tener en tú código warnings de tipo unchecked.

Para que el compilador te muestre exactamente donde están estos “problemas” debes pasarle los dos parámetros que te indica la salida. Para hacerlo abre el archivo nbproject/project.properties, busca la clave javac.compilerargs y define su valor como: -Xlint:deprecation -Xlint:unchecked.

Con lo anterior podrás saber donde están los “problemas” y solucionarlos.

Paso 1

introducir la descripción de la imagen aquí

Paso 2

introducir la descripción de la imagen aquí

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *