HOWTO · Java

Fix-Klassennamen werden nur akzeptiert, wenn die Annotationsverarbeitung explizit in Java angefordert wird

Dieses Tutorial lehrt die Gründe und Lösungen für den Java-Fehler, indem es besagt, dass Klassennamen nur akzeptiert werden, wenn die Verarbeitung von Anmerkungen ausdrücklich angefordert wird.

Auf dieser Seite

Dieses Tutorial hebt die Gründe hervor und zeigt, wie Sie diesen Fehler mithilfe eines Beispiel-Java-Programms beheben können.

Fix Klassennamen, 'test.java', werden nur akzeptiert, wenn die Annotationsverarbeitung explizit angefordert wird in Java

Bevor wir uns der Lösung zuwenden, schreiben wir das folgende Java-Programm, um die möglichen Gründe für diesen Fehler zu verstehen.

Beispielcode:

// test class
public class test {
  // main()
  public static void main(String[] args) {
    // print message
    System.out.println("Hello, this is just a test program.");
  } // end main()
} // end test class

Verwenden Sie nun den unten angegebenen Befehl, um den Java-Code zu kompilieren.

javac writeYourFileNameHere

Hier erhalten wir die Fehlermeldung Klassennamen, 'test.java', werden nur akzeptiert, wenn die Annotationsverarbeitung ausdrücklich angefordert wird (test.java ist unser Dateiname, dort sehen Sie Ihren Dateinamen).

Wieso ist es so? Laut Java-Dokumentation gibt es zwei mögliche Gründe für diesen Fehler.

  1. Wir vergessen, das Suffix .java am Ende des Dateinamens hinzuzufügen.
  2. Wir verwenden die falsche Großschreibung der Endung .java. Zum Beispiel kompilieren wir als javac test.Java

Beide Befehle finden Sie im folgenden Screenshot.

Klassennamen werden nur akzeptiert, wenn Annotationsverarbeitung explizit angefordert wird - Fehler

Wie kann dieser Fehler behoben werden?

Die Lösung für diesen Kompilierzeitfehler ist sehr einfach. Wir müssen nur die Endung .java hinzufügen (alles in Kleinbuchstaben).

Lassen Sie uns dies tun, indem Sie den folgenden Beispielcode verwenden.

Beispielcode:

// test class
public class test {
  // main()
  public static void main(String[] args) {
    // print message
    System.out.println("Hello, this is just a test program.");
  } // end main()
} // end test class

Diesmal haben wir den Code mit javac test.java kompiliert. Wenn es erfolgreich kompiliert wird, verwenden wir den Befehl java test, um das Programm auszuführen (vergessen Sie nicht, den Namen Ihrer eigenen Datei anzugeben).

Beide Befehle werden im folgenden Screenshot demonstriert.

AUSGANG:

Klassennamen werden nur akzeptiert, wenn die Annotationsverarbeitung ausdrücklich angefordert wird - Lösung