web-dev-qa-db-fra.com

Construire avec le répertoire Intellij 2017.2 / out duplique les fichiers dans le répertoire / build

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?

58
Peter

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.

64
CrazyCoder

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

14
Peter

Voici ma compréhension:

Il s’agit fondamentalement d’une solution de contournement pour un problème d’incompatibilité entre Gradle build path et IDEA output path.

1
leo