"Impossible de démarrer la compilation: le chemin de sortie n'est pas spécifié pour le module…"

108

J'ai un projet Java + Gradle très simple. Il construit bien. Il fonctionne bien depuis le shell avec "gradle run". Cependant, si j'essaye de courir à l'intérieur d'IntelliJ, j'obtiens:

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

Ma "sortie du compilateur" est définie sur "Hériter du chemin de sortie de compilation du projet". Je ne veux pas de chemin de sortie personnalisé, quoi que ce soit, faites simplement une construction et une exécution de gradle normales.

argile
la source
1
Lors de l'exécution du code à partir d'IntelliJ, il sera compilé et exécuté par IntelliJ plutôt que Gradle, et un répertoire de sortie de construction différent sera utilisé. (Android est une autre histoire.) Cependant, si la version Gradle est importée correctement, le répertoire de sortie IntelliJ doit déjà être configuré.
Peter Niederwieser

Réponses:

104

Il vous suffit d'aller dans votre Module settings > Projectet de spécifier une "sortie du compilateur de projet" et de faire hériter vos modules du projet. (Pour cela, allez à Modules > Paths > Inherit project.

Cela a fait l'affaire pour moi.

pranavrao1
la source
20
Eh bien, ne pas choisir l' Inherit Projectoption a fonctionné pour moi
Krish Munot
6
Pourquoi ne peut-il pas comprendre cela par lui-même? Tout le monde dit qu'IntelliJ est meilleur qu'Eclipse, mais d'après mon expérience, il ne peut pas penser par lui-même.
Andrew S
Pour info, j'ai trouvé que dans IntelliJ vous faites un Fichier> Nouveau> Module ... et créez un module Java, le chemin de sortie doit être défini par défaut.
J Woodchuck
Si cela ne semble pas fonctionner, n'oubliez pas de redémarrer IntelliJ. J'ai corrigé ça pour moi.
Cobie Fisher
98

Vous devez définir un chemin dans le champ " Sortie du compilateur de projet " dans

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

Ce chemin sera utilisé pour stocker tous les résultats de compilation du projet .

BullyWiiPlaza
la source
10

Lors de la configuration du plugin d'idées dans gradle, vous devez définir les répertoires de sortie comme suit.

idea{
    module{
        inheritOutputDirs = false
        outputDir = compileJava.destinationDir
        testOutputDir = compileTestJava.destinationDir
    }
}
lémiorhan
la source
ressemble beaucoup. Dans quel fichier dois-je mettre cette configuration?
argile
Vous devriez le mettre dans le fichier build.gradle de votre projet.
lemiorhan
10

Je réponds à cela afin de trouver la solution lorsque je dois à nouveau rechercher cette erreur sur Google.

Définissez le chemin de sortie de la compilation du projet sur path_of_the_project_folder/out. C'est ce qui fonctionne aujourd'hui. La documentation intellj donne l'impression que nous pouvons sélectionner n'importe quel dossier, mais ce n'est pas le cas.

Kanj
la source
7

Si aucune des méthodes ci-dessus n'a fonctionné, essayez-la, cela a fonctionné pour moi.

Allez dans Fichier> Structure du projet> Projet puis dans Project Compiler Output cliquez sur les trois points et indiquez le chemin du nom de votre projet (nom du fichier) puis cliquez sur Appliquer et ensuite sur Ok .

Cela devrait être comme ça, comme sur la photo d'une publication.

priyanshu kumar
la source
8
Il n'y a pas d'image dans votre réponse.
James Whiteley
2
@priyanshu: Sérieusement, il n'y a pas d'image dans votre message.
Pawan
4

Ouvrez le fichier .iml. Recherchez le mot clé «NewModuleRootManager». Vérifiez si l'attribut 'inherit-compiler-output' est défini sur true ou non. Si non défini sur true.

Comme ça :

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
la source
1

Après ça

Deux choses à faire:

Paramètres du projet> Sortie du compilateur de projet> Définissez-le comme "Chemin du projet (le chemin du projet actuel)" + "\ out".

Paramètres du projet> Module> Chemin> Choisissez "Hériter le chemin de compilation du projet" "

Si le bouton exécuté n'est pas actif

Vous devez recharger IDEA

Денис Тимофеев
la source
0

modifier le menu déroulant pour démarrer le fichier de votre projet

entrez la description de l'image ici

dev001
la source
0

J'obtiens également cette erreur lors de la création d'un projet dans IntelliJ sans utiliser de modèle.

J'ai 2 SDK installés: Amazon Corretto et la version java 11.0.4 et donc, ce que je fais quand j'ai cette erreur est "changer le SDK" cela fonctionne généralement bien avec Corretto

pour ce faire, vous devez cliquer sur Fichier (dans IntelliJ) / Structure du projet / Projet / Projet SDK: sélectionnez corretto dans la liste déroulante (ou cochez l'option sur votre ordinateur) comme indiqué ici

j'espère que cela fonctionnera pour vous aussi

Meilleur, Constantin

Constantin
la source
0

Bogues causés par l'absence de dossier prédéfini pour le fichier de classe compilé par le magasin qui est normalement le dossier / out par défaut. Vous pouvez essayer de fermer Intellij> Importer un projet> À partir d'une source existante. Cela résoudra ce problème.

logbasex
la source