Non è possibile scegliere la classe come classe principale in IntelliJ


98

Ho un progetto Java in IntelliJ a cui ho appena aggiunto un gruppo di file in una gerarchia di cartelle nidificate. Molti di questi file sono test e includono il metodo principale, quindi dovrei essere in grado di eseguirli. Tuttavia non riesco a capire come farlo.

Sono nuovo in IntelliJ e in precedenza i file sono stati visualizzati nella gerarchia del progetto con il simbolo che corrisponde a "Classe Java che contiene la dichiarazione del metodo main ()". ma in questo scenario vengono visualizzati con il simbolo corrispondente a "Classe Java situata fuori dalla radice di origine".

Quindi come compilo ed eseguo questi file?


2
Per chiunque venga qui con lo stesso problema ma nessun problema di "root root" - gli indicatori di runnability e "main class" sono scomparsi quando ho importato accidentalmente com.sun.org.apache.xpath.internal.operations.String- ancora non riesco a capire perché sia successo! (IDEA 2018.1, JDK 8, Maven)
Janaka Bandara

Risposte:


64

La documentazione che hai collegato ha effettivamente la risposta nel collegamento associato alla "classe Java situata fuori dalla radice di origine". Configura i tuoi sorgenti e test root e dovrebbe funzionare.

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

Dato che hai affermato che si tratta di test, probabilmente dovresti usarli contrassegnati come Test Source Root invece di Source Root.


1
Assicurati di impostare correttamente le dipendenze del modulo. Contrassegna il modulo nella struttura del progetto e "F4" è la chiave predefinita per aprire le impostazioni del modulo (almeno in Linux). (Oppure fai clic con il pulsante destro del mouse e scegli "Apri impostazioni modulo"). Speriamo che questo qui possa aiutare un po 'di più: jetbrains.com/idea/webhelp/…
trappski

Ah, sì, le dipendenze hanno risolto il mio problema alla fine. ty.
CE

136

Seleziona la cartella contenente l'albero dei pacchetti di queste classi, fai clic con il pulsante destro del mouse e scegli "Contrassegna directory come -> Radice di origine"


Questo ha fatto quello che ho chiesto, tuttavia ora non è possibile risolvere le istruzioni di importazione. Sono comparsi anche altri errori. Idee?
CE

Ad esempio, mi ha chiesto di anteporre ai metodi "odeToJava.modules". e poi si è lamentato del fatto che non è stato possibile risolvere odeToJava.
CE

Ma come si arriva al menu che ti consente di farlo? Si visualizzano le directory ei file del progetto nella vista Progetto (alt + 1), quindi fare clic con il pulsante destro del mouse sulla cartella seguendo le istruzioni dell'OP.
James T.

L'ho fatto ma mi consente solo di selezionare i file di valutazione e non il runner JAVA principale.
Oliver Dixon

0

Ecco la procedura completa per IDEA IntelliJ 2019.3:

  1. File> Struttura del progetto

  2. In Impostazioni progetto> Moduli

  3. Nella scheda "Fonti", fai clic con il pulsante destro del mouse sulla cartella "src" e seleziona "Fonti".

  4. Applica i cambiamenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.