Resolver el error del paquete no existe en Java
 
Hoy reproduciremos el error el paquete no existe en Java para entender el error y sus causas. Además, también aprenderemos sobre su solución con la ayuda de ejemplos de código.
Demostración de El paquete no existe en Java
    
Código de ejemplo (archivo Students.java):
package name;
public class Students implements Comparable<Students> {
  private String studentFirstName;
  private String studentLastName;
  public Students(String studentFirstName, String studentLastName) {
    this.studentFirstName = studentFirstName;
    this.studentLastName = studentLastName;
  }
  public String getStudentFirstName() {
    return studentFirstName;
  }
  public void setStudentFirstName(String studentFirstName) {
    this.studentFirstName = studentFirstName;
  }
  public String getStudentLastName() {
    return studentLastName;
  }
  public void setStudentLastName(String studentLastName) {
    this.studentLastName = studentLastName;
  }
  /**
   *
   * @param other
   * @return
   */
  @Override
  public int compareTo(Students other) {
    int compareResults = this.studentLastName.compareTo(other.studentLastName);
    if (compareResults == 0) {
      if (this.studentFirstName.chars().count() == other.studentFirstName.chars().count()) {
        compareResults = 0;
        return compareResults;
      } else if (this.studentFirstName.chars().count() > other.studentFirstName.chars().count()) {
        compareResults = 1;
        return compareResults;
      } else {
        compareResults = -1;
        return compareResults;
      }
    } else {
      return compareResults;
    }
  }
}
Código de ejemplo (archivo StudentMain.java):
import names.Students;
public class StudentMain {
  public static void main(String[] args) {
    Students student1 = new Students("Ali", "Ashfaq");
    Students student2 = new Students("Ali", "Ashfaq");
    System.out.println("Comparison 1: " + student1.compareTo(student2));
    Students student3 = new Students("Ali", "Ashfaq");
    Students student4 = new Students("Zoya", "Ashfaq");
    System.out.println("Comparison 2: " + student3.compareTo(student4));
    Students student5 = new Students("Mehr-un-nissa", "Ashfaq");
    Students student6 = new Students("Hina", "Ashfaq");
    System.out.println("Comparison 3: " + student5.compareTo(student6));
  }
}
Tenemos un directorio Desktop/java/stuff/com/name donde se encuentran todos nuestros archivos .java excepto aquellos que contienen el método main(). Para el ejemplo de código anterior, tenemos Students.java en el directorio Desktop/java/stuff/com/name, mientras que StudentMain.java con el método main() está en el directorio Desktop/java/ cosas/com directorio.
También es importante tener en cuenta que hemos configurado Desktop/java/stuff en nuestro CLASSPATH.
Comprendamos el código para descubrir el error y sus causas.
El código anterior compara los apellidos de los Estudiantes y almacena el resultado en la variable compareResults. Este resultado se utiliza además para comparar sus nombres. ¿Cómo?
Si el apellido coincide, el resultado sería true significa 0. Entonces, salta a la condición if y evalúa si el número de caracteres en sus nombres coincide.
El resultado de la comparación de nombres se basa en las siguientes condiciones:
- Si this.countes igual aother.count, el resultado será0.
- Si this.countes mayor queother.count, el resultado será1.
- Si this.countes menor queother.count, el resultado será-1.
Pero, cuando intentamos compilar el programa, nos da el siguiente error.
C:\Users\MEHVISH ASHIQ\Desktop\java\stuff\com>javac StudentMain.java
StudentMain.java:1: error: package names do not exist
import names.Students;
¿Qué significa y por qué nos enfrentamos a este problema? Este error significa que el paquete que intentamos importar no existe.
Puede haber diferentes razones para eso, y todas ellas se enumeran a continuación:
- 
Hemos importado el paquete incorrecto, o podemos tener algunos errores tipográficos al importar el paquete. 
- 
Vuelva a verificar si todos los archivos están en los subdirectorios correctos. 
- 
Si hemos establecido nuestra CLASSPATHenDesktop/java/stuff, entonces los archivos definidos conpackage name;debe residir en el directorioDesktop/java/stuff/com/name. Puede marcar esto para aprender a configurarCLASSPATH.
- 
Asegúrese de que todos los archivos fuente de Java estén en el subdirectorio correcto. También debemos asegurarnos de que los archivos fuente de Java estén compilados en el directorio Desktop/java/stuff/com/name.¿Por qué? Los archivos .classdeben estar enCLASSPATH. Recuerde, los archivos.javano requieren estar enCLASSPATHsino enSOURCEPATH, mientras que los archivos.classse generan cuando compilamos el archivo usando el comandojavac.
- 
También recibimos este error si no usamos el paquete incorporado correctamente. Ver el siguiente código: 
Código de ejemplo:
public class Test {
  public static void main(String[] args) {
    /*
    Solution: This line must be as follows:
    System.out.println("Hi!");
    */
    system.out.println("Hi!");
  }
}
Error de descripción:
Test.java:3: error: package system does not exist
                system.out.println("Hi!");
                      ^
1 error
Resolver el Error del paquete no existe en Java
Código de ejemplo (archivo Students.java):
package name;
public class Students implements Comparable<Students> {
  private String studentFirstName;
  private String studentLastName;
  public Students(String studentFirstName, String studentLastName) {
    this.studentFirstName = studentFirstName;
    this.studentLastName = studentLastName;
  }
  public String getStudentFirstName() {
    return studentFirstName;
  }
  public void setStudentFirstName(String studentFirstName) {
    this.studentFirstName = studentFirstName;
  }
  public String getStudentLastName() {
    return studentLastName;
  }
  public void setStudentLastName(String studentLastName) {
    this.studentLastName = studentLastName;
  }
  /**
   *
   * @param other
   * @return
   */
  @Override
  public int compareTo(Students other) {
    int compareResults = this.studentLastName.compareTo(other.studentLastName);
    if (compareResults == 0) {
      if (this.studentFirstName.chars().count() == other.studentFirstName.chars().count()) {
        compareResults = 0;
        return compareResults;
      } else if (this.studentFirstName.chars().count() > other.studentFirstName.chars().count()) {
        compareResults = 1;
        return compareResults;
      } else {
        compareResults = -1;
        return compareResults;
      }
    } else {
      return compareResults;
    }
  }
}
Código de ejemplo (archivo StudentMain.java):
import name.Students;
public class StudentMain {
  public static void main(String[] args) {
    Students student1 = new Students("Ali", "Ashfaq");
    Students student2 = new Students("Ali", "Ashfaq");
    System.out.println("Comparison 1: " + student1.compareTo(student2));
    Students student3 = new Students("Ali", "Ashfaq");
    Students student4 = new Students("Zoya", "Ashfaq");
    System.out.println("Comparison 2: " + student3.compareTo(student4));
    Students student5 = new Students("Mehr-un-nissa", "Ashfaq");
    Students student6 = new Students("Hina", "Ashfaq");
    System.out.println("Comparison 3: " + student5.compareTo(student6));
  }
}
Obtuvimos el error el paquete no existe debido a que importamos el paquete incorrecto en el archivo StudentMain.java. Estábamos importando como importar nombres.Estudiantes;, mientras que debe ser importar nombre.Estudiantes;.
Puede ver todos los comandos a continuación, incluido cómo configuramos el CLASSPATH.
Producción :
C:\Users\MEHVISH ASHIQ>cd Desktop/java/stuff
C:\Users\MEHVISH ASHIQ\Desktop\java\stuff>set classpath=.;
C:\Users\MEHVISH ASHIQ\Desktop\java\stuff>cd com/name
C:\Users\MEHVISH ASHIQ\Desktop\java\stuff\com\name>javac Students.java
C:\Users\MEHVISH ASHIQ\Desktop\java\stuff\com\name>cd..
C:\Users\MEHVISH ASHIQ\Desktop\java\stuff\com>javac StudentMain.java
C:\Users\MEHVISH ASHIQ\Desktop\java\stuff\com>java StudentMain
Comparison 1: 0
Comparison 2: -1
Comparison 3: 1
Artículo relacionado - Java Error
- Arreglar Java fue iniciado por el código de salida devuelto = 1
- Arreglar JAVA_HOME no se puede determinar a partir del error de registro en R
- Arreglar java.io.IOException: No queda espacio en el dispositivo en Java
- Arreglar Java.IO.NotSerializableException en Java
- Arreglar Java.Lang.IllegalStateException de Android: no se pudo ejecutar el método de la actividad
- Arreglar Java.Lang.NoClassDefFoundError: No se pudo inicializar el error de clase
