Beheben Sie den Fehler `Paket existiert nicht` in Java
-
Demonstration von
Paket existiert nicht
in Java -
Beheben Sie den Fehler
Paket existiert nicht
in Java
Heute werden wir den Fehler Paket existiert nicht
in Java reproduzieren, um den Fehler und seine Gründe zu verstehen. Außerdem lernen wir die Lösung anhand von Codebeispielen kennen.
Demonstration von Paket existiert nicht
in Java
Beispielcode (Datei 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;
}
}
}
Beispielcode (Datei 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));
}
}
Wir haben ein Verzeichnis Desktop/java/stuff/com/name
, in dem sich alle unsere .java
-Dateien befinden, mit Ausnahme derjenigen, die die main()
-Methode enthalten. Für das obige Codebeispiel haben wir Students.java
im Verzeichnis Desktop/java/stuff/com/name
, während sich StudentMain.java
mit der Methode main()
im Verzeichnis Desktop/java/stuff/com
Verzeichnis.
Es ist auch wichtig zu beachten, dass wir Desktop/java/stuff
auf unseren CLASSPATH
gesetzt haben.
Lassen Sie uns den Code verstehen, um den Fehler und seine Ursachen herauszufinden.
Der obige Code vergleicht die Nachnamen der Students
und speichert das Ergebnis in der Variable compareResults
. Dieses Ergebnis wird weiter verwendet, um ihre Vornamen zu vergleichen. Wie?
Wenn der Nachname übereinstimmt, wäre das Ergebnis true
bedeutet 0
. Es springt also zur if
-Bedingung und prüft, ob die Anzahl der Zeichen in ihren Vornamen übereinstimmt.
Das Ergebnis des Vornamenvergleichs basiert auf folgenden Bedingungen:
- Wenn
this.count
gleichother.count
ist, ist das Ergebnis0
. - Wenn
this.count
grösser alsother.count
ist, ist das Ergebnis1
. - Wenn
this.count
kleiner alsother.count
ist, ist das Ergebnis-1
.
Aber wenn wir versuchen, das Programm zu kompilieren, gibt es uns den folgenden Fehler.
C:\Users\MEHVISH ASHIQ\Desktop\java\stuff\com>javac StudentMain.java
StudentMain.java:1: error: package names do not exist
import names.Students;
Was bedeutet das und warum stehen wir vor diesem Problem? Dieser Fehler bedeutet, dass das Paket, das wir zu importieren versuchen, nicht existiert.
Dafür kann es verschiedene Gründe geben, die alle im Folgenden aufgeführt sind:
-
Wir haben das falsche Paket importiert, oder wir haben möglicherweise einige Tippfehler beim Importieren des Pakets.
-
Überprüfen Sie erneut, ob sich alle Dateien in den richtigen Unterverzeichnissen befinden.
-
Wenn wir unseren
CLASSPATH
aufDesktop/java/stuff
gesetzt haben, dann werden die mitpackage name;
definierten Dateien muss sich im VerzeichnisDesktop/java/stuff/com/name
befinden. Sie können dies überprüfen, um zu erfahren, wie SieCLASSPATH
einstellen. -
Stellen Sie sicher, dass sich alle Java-Quelldateien im richtigen Unterverzeichnis befinden. Wir müssen auch sicherstellen, dass die Java-Quelldateien im Verzeichnis
Desktop/java/stuff/com/name
kompiliert werden.Warum? Die
.class
-Dateien müssen sich auf demCLASSPATH
befinden. Denken Sie daran, dass die.java
-Dateien nicht imCLASSPATH
, sondern imSOURCEPATH
sein müssen, während.class
-Dateien generiert werden, wenn wir die Datei mit dem Befehljavac
kompilieren. -
Wir erhalten diesen Fehler auch, wenn wir das eingebaute Paket nicht richtig verwenden. Siehe folgenden Code:
Beispielcode:
public class Test {
public static void main(String[] args) {
/*
Solution: This line must be as follows:
System.out.println("Hi!");
*/
system.out.println("Hi!");
}
}
Fehlerbeschreibung:
Test.java:3: error: package system does not exist
system.out.println("Hi!");
^
1 error
Beheben Sie den Fehler Paket existiert nicht
in Java
Beispielcode (Datei 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;
}
}
}
Beispielcode (Datei 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));
}
}
Wir haben den Fehler Paket existiert nicht
erhalten, weil das falsche Paket in die Datei StudentMain.java
importiert wurde. Wir importierten als import names.Students;
, während es import name.Students;
sein muss.
Sie können alle Befehle unten sehen, einschließlich wie wir den CLASSPATH
setzen.
Ausgang:
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
Verwandter Artikel - Java Error
- Adresse wird bereits verwendet JVM_Bind-Fehler in Java
- Android Java.Lang.IllegalStateException behoben: Methode der Aktivität konnte nicht ausgeführt werden
- Ausnahme im Hauptthread Java.Lang.ClassNotFoundException in IntelliJ IDEA
- Ausnahme im Hauptthread Java.Lang.NoClassDefFoundError
- Beheben Sie das Problem, dass Java nicht installiert werden kann. Es gibt Fehler in den folgenden Schaltern
- Beheben Sie den Fehler `Es wurde keine Java Virtual Machine gefunden` in Eclipse