Récemment, j'ai trouvé tous mes projets Gradle dans Idea Import Séparez les modules pour Main et Test. Les modules ressemblent à ceci:
Comme vous pouvez le voir, il existe un module "principal" dont la racine de contenu est le src/main et ne comprend que les classes et ressources principales, et il existe également un module "test". Les modules ne semblent tout simplement pas corrects. Est-ce un comportement attendu?
L'idée est Intellij Idea 2016.1.1
et le gradle est 2.11
Voici le contenu de build.gradle
apply plugin: 'idea'
apply plugin: 'Java'
apply plugin: 'spring-boot'
apply plugin: "jacoco"
version = getVersion()
sourceCompatibility = 1.8
targetCompatibility = 1.8
configurations {
provided
}
sourceSets {
main {
compileClasspath += configurations.provided
}
test {
resources {
srcDir 'src/test/data'
}
compileClasspath += configurations.provided
}
}
processResources {
filter { String line -> line.replace("{version}", getVersion()) }
}
processTestResources {
filter { String line -> line.replace("{version}", getVersion()) }
}
idea {
module {
scopes.PROVIDED.plus += [configurations.provided]
}
}
repositories {
mavenCentral()
}
J'ai le même effet qui n'est pas ce à quoi je m'attendais d'autant plus qu'IntelliJ 14 Ultimate se comporte complètement différemment sur le même projet.
Il s'agit du nouveau comportement d'IntelliJ introduit avec la version 2016.1 pour gérer des projets Gradle complexes (qui n'a jamais fonctionné complètement auparavant lorsque vous avez introduit de nouveaux ensembles source).
Cela semble un peu étrange mais fonctionne (mieux qu'avant). Et vous pouvez maintenant voir les dépendances pour chaque ensemble de sources dans la fenêtre du projet Gradle.
Voir aussi Quoi de neuf dans IntelliJ IDEA 2016.1 et Gradle Goodness: Source définit comme IntelliJ IDEA Modules .
MISE À JOUR:
Il semble que Jetbrains ait supprimé la case à laquelle je faisais référence depuis que j'ai posté cela. La réponse de galcyurio ressemble à la bonne façon de désactiver cette fonctionnalité dans les versions actuelles.
Réponse originale:
Vous pouvez désactiver cela dans les paramètres Gradle. Préférences -> Build, Execution, Deployment -> Build Tools -> Gradle: décochez créer des modules séparés par ensemble source.
J'ai dû le désactiver car cela provoquait des échecs de construction car Make ne faisait qu'extraire le jeu de sources principal. C'est probablement un bogue dans Intellij parce que gradle peut encore très bien construire les projets.
Dans mon cas, je ne trouve pas l'option mentionnée par ' Alex Spence '.
Vous pouvez désactiver cela dans les paramètres Gradle. Préférences -> Build, Execution, Deployment -> Build Tools -> Gradle: décochez créer des modules séparés par ensemble source .
J'ai cherché cette option, heureusement, beaucoup d'autres réponses m'ont montré où se trouve cette option.
Nous pouvons décocher cette option lorsque nous importons ou créons un module et importons un projet.