Wenn Sie ein einfaches Hello World-Programm mit Java 9 ausführen, wird folgende Fehlermeldung angezeigt:
Error occurred during initialization of boot layer Java.lang.module.FindException: Module com.pantech.myModule not found
Die Befehlszeile, die ich ausführte, war:
Java --module-path bin -m com.pantech.myModule/com.pantech.myModule.HelloWorld
Diese Befehlszeile wird vom übergeordneten Verzeichnis meines bin-Verzeichnisses ausgeführt, das alle .class-Bytecode-Dateien enthält.
Die Datei module-info.class
befindet sich im Verzeichnis com.pantech.myModule
, das sich im Verzeichnis bin befindet. Die Datei HelloWorld.class
enthält die Hauptmethode und befindet sich im Paketverzeichnis im Verzeichnis com.pantech.myModule. Daher lautet der Pfadname der Datei HelloWorld.classbin\com.pantech.myModule\com\pantech\myModule\HelloWorld.class.
Die HelloWorld-Klasse befindet sich im com.pantech.myModule
-Paket (der Paketname entspricht dem Modulnamen).
Ich verwende Windows 10 als Betriebssystem. Von allem, was ich gelesen habe, sollte die obige Befehlszeile korrekt sein. Anregungen zur Behebung dieses Problems?
Der Grund dafür ist, dass Sie beim Erstellen Ihrer eigenen Klasse auch akzeptiert haben, eine Standardklasse zu erstellen, die von Ihrer IDE) vorgeschrieben wird, und nach dem Schreiben Ihres Codes in Ihre eigene Klasse wird ein solcher Fehler angezeigt Um dies zu beseitigen, gehen Sie zum Ordner PROJECT -> Ordner src -> Standardpaket. Behalten Sie nur eine Klasse (in der Sie Code geschrieben haben) und löschen Sie eine andere.
Führen Sie danach Ihr Programm aus und es wird definitiv ohne Fehler ausgeführt.
Sie sagen, Ihr module-info.Java enthält
module myModule {}
Das heißt, es deklariert ein Modul mit dem Namen myModule
, nicht com.pantech.myModule
. Dies zeigt aus dem Befehlsformat: -
-m <module-name>/<main-class>
Ich hatte das gleiche Problem, als ich die Java Version auf 12.x aktualisiert habe. Ich habe mein Projekt über die Eclipse IDE ausgeführt. Ich bin nicht sicher, ob dieser Fehler durch Kompatibilitätsprobleme verursacht wird.
Ich habe jedoch 12.x von meinem System entfernt und 8.x installiert, und mein Projekt hat einwandfrei funktioniert.
Ich hatte das gleiche Problem und habe folgendes behoben:
Hinweis: Stellen Sie zunächst sicher, dass Java mit dem CMD-Befehl so funktioniert, dass Sie verstehen, dass das Problem bei Eclipse und nicht bei JDK auftritt.