Après la mise à jour vers Intellij 2017.2, la construction de mon projet crée un /out
répertoire contenant les fichiers source et les fichiers de ressources générés. Ces fichiers dupliquent des fichiers déjà contenus dans /build
et aboutir à duplicate class
erreurs de compilation pour les classes générées. Des idées sur un correctif dont j'ai besoin dans Gradle ou IntelliJ?
IntelliJ IDEA ne partage plus la sortie avec Gradle, s'il vous plaît voir ce ticket pour plus de détails .
Vous pouvez soit le remplacer via la configuration suivante:
allprojects {
apply plugin: 'idea'
idea {
module {
outputDir file('build/classes/main')
testOutputDir file('build/classes/test')
}
}
if(project.convention.findPlugin(JavaPluginConvention)) {
// Change the output directory for the main and test source sets back to the old path
sourceSets.main.output.classesDir = new File(buildDir, "classes/main")
sourceSets.test.output.classesDir = new File(buildDir, "classes/test")
}
}
ou déléguer la construction à Gradle: Fichier | Paramètres | Construction, exécution, déploiement | Outils de construction | Gradle | Runner => Delegate IDE construire/exécuter des actions à hiérarchiser.
Fichier | Structure du projet | Paramètres du projet | Modules | Onglet Chemins | Sortie du compilateur
Sélectionnez 'Hériter le chemin de sortie de la compilation du projet' pour continuer à utiliser /build
pour les artefacts de construction
Voici ma compréhension:
Il s’agit fondamentalement d’une solution de contournement pour un problème d’incompatibilité entre
Gradle build path
etIDEA output path
.
- le problème est - https://github.com/gradle/gradle/issues/2315
- la solution est - gardez ces deux répertoires séparés, donc vous en avez deux (
out/
etbuild/
) https://youtrack.jetbrains.com/issue/IDEA-18906