Error: Could not find or load main class Main.java?
Hey,
das ist die Main-Klasse, die in C:\Users\pacol\eclipse-workspace\CxL\src\main liegt.
package main;
public class Main {
public static void main(String[] args) {
String UserName = System.getProperty("user.name");
String currentPath = "C:\\Users\\"+UserName+"\\Desktop";
System.out.print(currentPath + "= ");
}
}
Ich habe mir eine Batch-Datei gemacht, um das Programm schneller zu starten. Hier ist sie:
@echo off
cd C:\Users\pacol\eclipse-workspace\CxL\src\main
java Main.java
pause > nul
Das ganze Java-Projekt liegt in C:\Users\pacol\eclipse-workspace\.
In C:\Users\pacol\eclipse-workspace\CxL\src\main liegt Main.Java und Main.class.
Warum bekomme ich immer noch diesen Fehler? Ich habe auch "Javac Main.java" davor versucht. Das funktioniert auch nicht.
MfG
3 Antworten
1) Kompiliert wird mit dem javac-Befehl:
javac Main.java
2) Die Klasse wird nicht gefunden, da sie in einem Package liegt und vom falschen Verzeichnis ausgehend gesucht wird. Wechsel nach der Kompilierung in das Überverzeichnis und rufe dann das Programm / die Startklasse auf.
java main.Main
Im Ordner main liegt keine Klasse main.Main, das Package main steht für ein eigenes Verzeichnis und der komplette Pfad (main.Main) wird benötigt, um die Klasse aufzulösen / zu finden.
Das war soweit auch mein letzter Kommentar dazu. Ich möchte nicht weiter meine obige Antwort Wort für Wort wiederholen. Das ist mir zu aufwendig.
Um die anderen Antworten nochmal kurz zusammenzufassen:
- mit dem "java" Befehl kannst du nur kompilierte .class Dateien ausführen. Keine Quelltext-Dateien (.java)
- Du musst in den Ordner gehen, in den dein Package startet. Das ist "C:\Users\pacol\eclipse-workspace\CxL\src\". Nicht noch weiter in den main-Ordner, sonst kapiert die java.exe das nicht.
- Wenn du in dem Ordner bist, kannst du das Programm mit "java main.Main" starten.
Danke für die Antwort, hat aber leider das Problem trotzdem nicht behoben..
Würde versuchen es über Eclipse selbst einzufügen und nicht einfach in den Quellcode zuschreiben
Geht trotzdem nicht..