"Kompilierung kann nicht gestartet werden: Der Ausgabepfad ist für das Modul nicht angegeben ..."

107

Ich habe ein sehr einfaches Java + Gradle-Projekt. Es baut gut. Es läuft gut von der Shell mit "Gradle Run". Wenn ich jedoch versuche, in IntelliJ zu laufen, erhalte ich:

Cannot start compilation: the output path is not specified for module "xyz" Specify the output path in Configure Project.

Meine "Compiler-Ausgabe" ist auf "Projekt-Kompilierungs-Ausgabepfad erben" eingestellt. Ich möchte keinen benutzerdefinierten Ausgabepfad, was auch immer das ist, mache einfach einen normalen Gradle-Build und führe ihn aus.

Lehm
quelle
1
Wenn Code von IntelliJ ausgeführt wird, wird er von IntelliJ und nicht von Gradle kompiliert und ausgeführt, und es wird ein anderes Build-Ausgabeverzeichnis verwendet. (Android ist eine andere Geschichte.) Wenn der Gradle-Build jedoch korrekt importiert wird, sollte das IntelliJ-Ausgabeverzeichnis bereits konfiguriert sein.
Peter Niederwieser

Antworten:

102

Sie müssen nur zu Ihrem gehen Module settings > Projectund eine "Projekt-Compiler-Ausgabe" angeben und Ihre Module vom Projekt erben lassen. (Dafür gehen Sie zu Modules > Paths > Inherit project.

Das hat den Trick für mich getan.

pranavrao1
quelle
20
Nun, die Inherit ProjectOption nicht zu wählen hat bei mir funktioniert
Krish Munot
6
Warum kann es das nicht selbst herausfinden? Jeder sagt, IntelliJ sei besser als Eclipse, aber meiner Erfahrung nach kann es nicht für sich selbst denken.
Andrew S
Zu Ihrer Information, ich habe festgestellt, dass Sie in IntelliJ eine Datei> Neu> Modul ausführen ... und ein Java-Modul erstellen. Der Ausgabepfad sollte standardmäßig festgelegt werden.
J Woodchuck
Wenn dies nicht zu funktionieren scheint, vergessen Sie nicht, IntelliJ neu zu starten. Es wurde für mich behoben.
Cobie Fisher
97

Sie müssen einen Pfad im Feld " Projekt-Compiler-Ausgabe " in definieren

File> Project Structure...> Project>Project compiler output

Dieser Pfad wird verwendet, um alle Ergebnisse der Projektzusammenstellung zu speichern .

BullyWiiPlaza
quelle
10

Während Sie das Ideen-Plugin in gradle konfigurieren, sollten Sie die Ausgabeverzeichnisse wie folgt definieren.

idea{
    module{
        inheritOutputDirs = false
        outputDir = compileJava.destinationDir
        testOutputDir = compileTestJava.destinationDir
    }
}
Lemiorhan
quelle
sieht großartig aus. In welche Datei lege ich diese Konfiguration?
Ton
Sie sollten es in die Datei build.gradle in Ihrem Projekt einfügen.
Lemiorhan
10

Ich beantworte dies, damit ich die Lösung finden kann, wenn ich diesen Fehler erneut googeln muss.

Setzen Sie den Ausgabepfad für die Projektkompilierung auf path_of_the_project_folder/out. Das ist es, was heute funktioniert. Die Intellj-Dokumentation lässt den Eindruck entstehen, dass wir jeden Ordner auswählen können, aber das ist nicht der Fall.

Kanj
quelle
7

Wenn keine der oben genannten Methoden funktioniert hat, versuchen Sie dies, es hat bei mir funktioniert.

Gehen Sie zu Datei> Projektstruktur> Projekt und klicken Sie dann in Project Compiler Output auf die drei Punkte und geben Sie den Pfad Ihres Projektnamens (Name der Datei) an. Klicken Sie dann auf Übernehmen und dann auf OK .

Es sollte so sein wie auf dem Bild in einem Posting.

Priyanshu Kumar
quelle
8
Ihre Antwort enthält kein Bild.
James Whiteley
2
@priyanshu: Im Ernst, es gibt kein Bild in Ihrem Beitrag.
Pawan
4

Öffnen Sie die IML-Datei. Suchen Sie nach dem Schlüsselwort 'NewModuleRootManager'. Überprüfen Sie, ob das Attribut 'erben-Compiler-Ausgabe' auf true gesetzt ist oder nicht. Wenn nicht auf true gesetzt.

So was :

component name="NewModuleRootManager" inherit-compiler-output="true">
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" />
mdev
quelle
0

Ändern Sie die Dropdown-Liste, um die Datei Ihres Projekts zu starten

Geben Sie hier die Bildbeschreibung ein

dev001
quelle
0

Ich erhalte diesen Fehler auch, wenn ich ein Projekt in IntelliJ ohne Verwendung einer Vorlage erstelle.

Ich habe 2 SDKs installiert: Amazon Corretto und Java Version 11.0.4. Wenn ich diesen Fehler habe, ist "SDK ändern". Normalerweise funktioniert es mit Corretto

Klicken Sie dazu auf Datei (in IntelliJ) / Projektstruktur / Projekt / Projekt-SDK: Wählen Sie Corretto aus der Dropdown-Liste aus (oder aktivieren Sie die Option auf Ihrem Computer), wie hier gezeigt

Ich hoffe, das funktioniert auch für Sie

Am besten, Constantin

Constantin
quelle
0

Fehler, die durch das Fehlen eines vordefinierten Ordners für die im Speicher kompilierte Klassendatei verursacht werden, die normalerweise standardmäßig ein / out-Ordner ist. Sie können versuchen, Intellij> Projekt importieren> Aus vorhandener Quelle zu schließen. Dies wird dieses Problem lösen.

logbasex
quelle
0

Danach

Zwei Dinge zu tun:

Projekteinstellungen> Projekt-Compiler-Ausgabe> Legen Sie sie als "Projektpfad (Pfad des tatsächlichen Projekts)" + "\ out" fest.

Projekteinstellungen> Modul> Pfad> Wählen Sie "Projektkompilierungspfad erben". "

Wenn die Schaltfläche ausgeführt wird, ist sie nicht aktiv

Sie müssen IDEA neu laden

Денис Тимофеев
quelle