''java.io.ObjectOutputStream'' está en desuso: un error en Intellij IDEA
intellij-idea deprecated (1)
Tengo este codigo:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.Date;
public class EmployeeProcessor {
public static void main(String[] args) {
Employee employee = new Employee();
employee.lastName = "Smith";
employee.firstName = "Adam";
employee.id = 123456789;
employee.salary = 50000;
try(FileOutputStream fileOutStr = new FileOutputStream("Employee.ser");
ObjectOutputStream objectOutStr = new ObjectOutputStream(fileOutStr)) {
objectOutStr.writeObject(employee);
System.out.println("An employee is externalized into the file Employee.ser");
} catch (IOException ioError){
ioError.printStackTrace();
}
}
}
Pero en Intellij IDEA
ObjectOutputStream
clase es tachada como esta:
screenshot
.
Al señalar el puntero del mouse, aparece este mensaje:
''java.io.ObjectOutputStream'' is deprecated
.
Qué significa eso?
Cuando ejecuto este código, IntelliJ abre las ventanas "Editar configuraciones" pidiéndome que presente las opciones de VM. Pero lo dejo en blanco y corro de todos modos.
IntelliJ IDEA tiene una acción intencional para anotar clases de biblioteca como obsoletas usando el soporte de anotaciones externas . Probablemente has activado esta acción intencional por accidente.
Para las clases en desuso de esta manera, se supone que hay una acción inversa: Deannotate, pero puede no funcionar ( error reportado ).
Para solucionarlo manualmente, busque el archivo
annotations.xml
en un directorio configurado en la
pestaña Anotaciones
del
SDK
y edítelo / elimínelo.
ACTUALIZACIÓN : la acción Deannoate debería funcionar ahora, pero solo dentro de la clase anotada, no desde su referencia.