Java java.lang.ClassNotFoundException: Main in Visual Studio Code?
Hey,
Ich habe den Fehler jetzt schon sehr Lange.
wenn ich in den Ordner des Projekts gehe (C:\Projekt\src\), und dort eingebe
javac main.Main
java main.Main.java
Steht dort nur Error: Could not find or load main class Main.
Die Mainklasse muss gefunden werden. Es muss ein anderer Fehler sein.
Ich habe meinen PC mehrmals zurückgesetzt
Jetzt neu: In VSCODE gibt es eine weitere Meldung:
Caused by: java.lang.ClassNotFoundException: Main
Wie kann ich das wieder reparieren
Ich vermute, dass irgendwas mit Java nicht stimmt.
Kann jemand mal sich irgendwie auf Discord oder Skype treffen und das problem beheben.. (Nur wenn das erlaubt ist. Wenn nicht löscht die Frage nicht und bearbeitet sie Nur!)
1 Antwort
Bei javac gibt man den Pfad zur Datei an und bei java den qualifizierten Klassenname. Dementsprechend wäre das für die Klasse Main im Packet main:
javac .\main\Main.java
java main.Main
Nach dem was ich hier lese wechselst du aber ständig die Programmiersprache. Das ist als Programmieranfänger alles andere als sinnvoll. Was genau willst du denn programmieren? Und hast du sonst noch Anforderungen?
In vscode ist es genau wie bei dir.. Es kommt trotzdem diese Meldung..
Nun der Sinn davon erschließt sich mir nicht wirklich und das wird beim Entwickeln vermutlich auch schnell langweilig. Wenn du noch mehr solche Funktionen implementieren willst, welche direkt mit dem Betriebssystem oder der Hardware interagieren, wäre es vermutlich sinnvoll eine Programmiersprache zu nutzen, welche direkt auf die Schnittstellen des Systems zugreifen kann. Das trifft weder auf Java oder C# zu, C++ kann das dagegen schon (wobei das nicht unbedingt Anfängern zu empfehlen ist).
Zu Java:
Sieht die Ordnerstruktur so aus?
src
L main
L Main.java
Und ist das Terminal wirklich im src Ordner geöffnet? Ansonsten funktioniert es nicht.
[Running] cd "c:\Users\pacol\Desktop\CXL\Java\" && javac Main.java && java Main
Ich habe eben ein Beispiel genommen. So ist der echte Pfad. Die Datei befindet sich in c:\Users\pacol\Desktop\CXL\Java\!
Bei mir funktioniert es so. Wenn du aber eine Package in der Datei angegeben hast ("package <Name>;"), dann funktioniert der Befehl nicht.
Die Sache ist jetzt, wird die Datei wirklich nicht gefunden oder liegt ein anderer Fehler vor..
[Running] cd "c:\Users\pacol\Desktop\CXL\Java\" && javac Main.java && java Main
Error: Could not find or load main class Main
Caused by: java.lang.ClassNotFoundException: Main
Das ist doch der gleiche Fehler wie bisher. Der Fehler kann eigentlich nur diese beiden Gründe haben:
- Eine Package Angabe in der Java Datei
- Die Klasse ist nicht public und der Klassenname in der Datei unterscheidet sich vom Dateiname
Oh mein Gott.. Du hast den Fehler gefunden. Danke Mann!!
Die Klasse war nicht public haha
Ich will ein Programm entwickeln, das einfach nur viele Features hat.. als Beispiel das Laufwerk ausfahren oder Herunterfahren. Halt alles von mir.