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.count
es igual aother.count
, el resultado será0
. - Si
this.count
es mayor queother.count
, el resultado será1
. - Si
this.count
es 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
CLASSPATH
enDesktop/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
.class
deben estar enCLASSPATH
. Recuerde, los archivos.java
no requieren estar enCLASSPATH
sino enSOURCEPATH
, mientras que los archivos.class
se 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