Klasse kann in IntelliJ nicht als Hauptklasse ausgewählt werden

97

Ich habe ein Java-Projekt in IntelliJ, zu dem ich gerade eine Reihe von Dateien in einer verschachtelten Ordnerhierarchie hinzugefügt habe. Viele dieser Dateien sind Tests und enthalten die Hauptmethode, sodass ich sie ausführen kann. Ich kann jedoch nicht herausfinden, wie das geht.

Ich bin neu in IntelliJ und zuvor wurden Dateien in der Projekthierarchie mit dem Symbol angezeigt, das "Java-Klasse, die die Deklaration der main () -Methode enthält" entspricht. In diesem Szenario wird jedoch das Symbol angezeigt, das "Java-Klasse außerhalb des Quellstamms" entspricht.

Wie kompiliere und führe ich diese Dateien aus?

CE
quelle
2
Für alle, die mit demselben Problem hierher kommen, aber kein "Quellwurzel" -Problem haben - die Indikatoren für die Lauffähigkeit und die "Hauptklasse" sind beim versehentlichen Import verschwunden com.sun.org.apache.xpath.internal.operations.String- kann immer noch nicht herausfinden, warum es passiert ist! (IDEA 2018.1, JDK 8, Maven)
Janaka Bandara

Antworten:

64

Die von Ihnen verknüpfte Dokumentation enthält die Antwort in dem Link, der der "Java-Klasse außerhalb des Quellstamms" zugeordnet ist. Konfigurieren Sie Ihre Quell- und Testwurzeln und es sollte funktionieren.

https://www.jetbrains.com/idea/webhelp/configuring-content-roots.html

Da Sie angegeben haben, dass dies Tests sind, sollten Sie sie wahrscheinlich als Test Source Root anstelle von Source Root markieren.

Trappski
quelle
1
Stellen Sie sicher, dass Sie Ihre Modulabhängigkeiten ordnungsgemäß eingerichtet haben. Markieren Sie das Modul in der Projektstruktur und 'F4' ist der Standardschlüssel zum Öffnen der Moduleinstellungen (zumindest unter Linux). (Oder klicken Sie mit der rechten Maustaste und wählen Sie "Moduleinstellungen öffnen".) Hoffentlich kann dies hier ein bisschen weiter helfen: jetbrains.com/idea/webhelp/…
trappski
Ah ja, Abhängigkeiten haben am Ende mein Problem gelöst. ty.
CE
136

Wählen Sie den Ordner mit dem Paketbaum dieser Klassen aus, klicken Sie mit der rechten Maustaste und wählen Sie "Verzeichnis als -> Quellstamm markieren".

JB Nizet
quelle
Dies hat das getan, wonach ich gefragt habe, aber jetzt können die Importanweisungen nicht aufgelöst werden. Andere Fehler traten ebenfalls auf. Ideen?
CE
Zum Beispiel wurde ich gebeten, Methoden mit "odeToJava.modules" voranzustellen. und beschwerte sich dann, dass es odeToJava nicht auflösen konnte.
CE
Wie kommen Sie zu dem Menü, mit dem Sie dies tun können? Sie zeigen die Projektverzeichnisse und -dateien in der Projektansicht an (Alt + 1) und klicken dann mit der rechten Maustaste auf den Ordner, indem Sie den Anweisungen des OP folgen.
James T.
Ich habe dies getan, aber es erlaubt mir nur, die Notendateien auszuwählen und nicht den Haupt-JAVA-Läufer.
Oliver Dixon
0

Hier ist das vollständige Verfahren für IDEA IntelliJ 2019.3:

  1. Datei> Projektstruktur

  2. Unter Projekteinstellungen> Module

  3. Klicken Sie auf der Registerkarte "Quellen" mit der rechten Maustaste auf den Ordner "src" und wählen Sie "Quellen".

  4. Änderungen übernehmen.

Ashwin
quelle