„Nie można rozpocząć kompilacji: ścieżka wyjściowa nie została określona dla modułu…”


108

Mam bardzo prosty projekt Java + Gradle. Świetnie się buduje. Działa dobrze z powłoki z „gradle run”. Jeśli jednak spróbuję uruchomić w IntelliJ, otrzymuję:

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

Moje „Wyjście kompilatora” jest ustawione na „Dziedzicz ścieżkę wyjściową kompilacji projektu”. Nie chcę niestandardowej ścieżki wyjściowej, cokolwiek to jest, po prostu wykonaj normalną kompilację gradle i uruchom.


1
Podczas uruchamiania kodu z IntelliJ, będzie on kompilowany i uruchamiany przez IntelliJ, a nie przez Gradle, i zostanie użyty inny katalog wyjściowy kompilacji. (Android to inna historia). Jeśli jednak kompilacja Gradle jest poprawnie zaimportowana, katalog wyjściowy IntelliJ powinien być już skonfigurowany.
Peter Niederwieser

Odpowiedzi:


104

Musisz tylko przejść do swojego Module settings > Projecti określić „Wyjście kompilatora projektu” i sprawić, by Twoje moduły dziedziczyły z projektu. (W tym celu przejdź do Modules > Paths > Inherit project.

To załatwiło sprawę dla mnie.


20
Cóż, nie wybranie Inherit Projectopcji zadziałało dla mnie
Krish Munot

6
Dlaczego nie może tego samodzielnie rozgryźć. Wszyscy mówią, że IntelliJ jest lepszy niż Eclipse, ale z mojego doświadczenia wynika, że ​​nie może myśleć samodzielnie.
Andrew S

FYI, odkryłem, że w IntelliJ robisz Plik> Nowy> Moduł ... i tworzysz moduł Java, ścieżka wyjściowa powinna zostać ustawiona domyślnie.
J Woodchuck,

Jeśli to nie działa, nie zapomnij ponownie uruchomić IntelliJ. Naprawiłem to dla mnie.
Cobie Fisher

98

Musisz zdefiniować ścieżkę w polu „Dane wyjściowe kompilatora projektu ” w

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

Ta ścieżka będzie używana do przechowywania wszystkich wyników kompilacji projektu .


10

Podczas konfigurowania wtyczki pomysłów w gradle, powinieneś zdefiniować katalogi wyjściowe w następujący sposób.

idea{
    module{
        inheritOutputDirs = false
        outputDir = compileJava.destinationDir
        testOutputDir = compileTestJava.destinationDir
    }
}

wygląda świetnie. W jakim pliku mam umieścić tę konfigurację?
glina

Powinieneś umieścić go w pliku build.gradle w swoim projekcie.
lemiorhan

10

Odpowiadam na to, aby móc znaleźć rozwiązanie, gdy muszę ponownie wygooglować ten błąd.

Ustaw ścieżkę wyjściową kompilacji projektu na path_of_the_project_folder/out. To właśnie działa dzisiaj. Dokumentacja Intellj sprawia, że ​​wydaje się, że możemy wybrać dowolny folder, ale tak nie jest.


7

Jeśli żadna z powyższych metod nie zadziałała, spróbuj tego, co zadziałało.

Przejdź do Plik> Struktura projektu> Projekt, a następnie w danych wyjściowych kompilatora projektu kliknij trzy kropki i podaj ścieżkę do nazwy swojego projektu (nazwa pliku), a następnie kliknij Zastosuj, a następnie OK .

Powinno być tak, jak na zdjęciu i postem.


8
W Twojej odpowiedzi nie ma obrazu.
James Whiteley

2
@priyanshu: Poważnie, w Twoim poście nie ma zdjęcia.
Pawan

4

Otwórz plik .iml. Poszukaj słowa kluczowego „NewModuleRootManager”. Sprawdź, czy atrybut „inherit-compiler-output” ma wartość true, czy nie. Jeśli nie jest ustawione na true.

Lubię to :

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" />


1

Po tym

Dwie rzeczy do zrobienia:

Ustawienia projektu> Dane wyjściowe kompilatora projektu> Ustaw jako „Ścieżka projektu (rzeczywista ścieżka projektu)” + „\ out”.

Ustawienia projektu> Moduł> Ścieżka> Wybierz „Dziedzicz ścieżkę kompilacji projektu” ”

Jeśli przycisk run nie jest aktywny

Musisz ponownie załadować IDEA




0

Ten błąd też pojawia się podczas tworzenia projektu w IntelliJ bez użycia szablonu.

Mam zainstalowane 2 SDK: Amazon Corretto i java w wersji 11.0.4, więc to, co robię, gdy mam ten błąd, to „zmień SDK”, zwykle działa dobrze z Corretto

aby to zrobić, musisz kliknąć Plik (w IntelliJ) / Struktura projektu / Projekt / Project SDK: wybierz korektę z rozwijanej listy (lub zaznacz opcję w komputerze), jak pokazano tutaj

mam nadzieję, że to zadziała również dla Ciebie

Pozdrawiam, Constantin


0

Błędy spowodowane brakiem predefiniowanego folderu do przechowywania skompilowanego pliku klasy, którym zwykle jest domyślnie folder / out. Możesz spróbować zamknąć Intellij> Importuj projekt> Z istniejącego źródła. To rozwiąże ten problem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.