Construire un projet Java avec Gradle

Qu'est-ce qu'un plug-in Java?

Pour créer un projet Java avec Gradle, vous avez besoin d'un plug-in Java. Pour appliquer le plug-in, écrivez ce qui suit dans build.gradle.

build.gradle


apply plugin: 'java'

Le plug-in Java comporte quatre éléments, «tâche», «convention», «propriété» et «ensemble de sources». C'est un composant packagé. En découvrant chaque élément, vous comprendrez comment la construction avec des plug-ins Java fonctionne.

Ensemble source

Un ensemble source est un concept qui regroupe ** des objets qui doivent être compilés en même temps **. Par défaut pour les plugins Java

--main: un ensemble source de code de production et de ressources de production --test: un ensemble source de code de test et de ressources de test

Nous fournissons les deux ensembles de sources ci-dessus.

Le code source a les caractéristiques suivantes.

--Peut être ajouté librement avec le script de construction --A un nom unique

tâche

Dans Gradle, lorsque vous ajoutez un plug-in, le travail requis pour la construction est ajouté en tant que tâche en même temps. Les tâches suivantes sont également ajoutées au plug-in Java.

tâche La description
compileJava Compilez le code de production. La cible est java de l'ensemble de sources main.L'extension stockée dans le répertoire spécifié par la propriété srcDirs.fichier java.
processResources Copiez les ressources du code de production dans le chemin de classe. La cible est les ressources de l'ensemble source main.L'extension stockée dans le répertoire spécifié par la propriété srcDirs.Fichiers autres que java.
classes Exécutez les tâches compileJava et processResources.
compileTestJava Se comporte comme une tâche Java de compilation pour le test de l'ensemble de sources.
processTestResources Se comporte de la même manière que la tâche processResources pour le test de l'ensemble source.
testClasses Exécutez les tâches compileTestJava et processTestResources.
jar Générez un fichier JAR. La cible d'archivage par défaut est la propriété de sortie de l'ensemble de sources principal.(Sortie de la tâche compileJava et processResources)
javadoc Sortie Javadoc du jeu de sources principal.
test test Exécute les tests contenus dans l'ensemble source. Par défaut, la cible de test est automatiquement extraite de la sortie de la tâche testClasses.
uploadArchives Artefact(Construire des artefacts)Téléchargez l'archive de.
clean Supprimez la sortie de construction. Par défaut, le répertoire de construction est supprimé.
clean <TaskName> Tâche spécifiée<TaskName>Supprimez uniquement la sortie de.
assemble Générez des artefacts appropriés en fonction du contenu du projet sans exécuter de tests. Le plug-in Java utilise par défaut la tâche jar.
check Vérifiez le projet. Le plug-in Java utilise par défaut la tâche de test.
build Construisez le projet. Exécutez les tâches de vérification et d'assemblage.
buildNeeded Construisez non seulement le projet à générer, mais également le projet pour lequel des dépendances ont été définies.
buildDependents Build, y compris les projets qui dépendent du projet à construire.

Ajouter un ensemble de sources et ajouter des tâches automatiquement

Dans le plug-in Java, lorsque vous ajoutez un ensemble source Les tâches suivantes sont automatiquement ajoutées pour chaque ensemble de sources.

termes

La convention est "Dans un projet Java, placez les fichiers Java dans le répertoire src / main / java" C'est une promesse comme ça. Les plug-ins Java ont les conventions suivantes.

--Fichier source du code de production → Placez-le sous le répertoire src / main / java

Propriété

Les propriétés sont définies pour contrôler la cible d'entrée / sortie des tâches et le répertoire des conventions.

Propriétés du plug-in Java (communes)

Propriétés fournies par l'objet Project.

Propriété La description Défaut
testResultDir Destination de sortie du fichier XML du résultat du test build/test-results
testReportDir Rapport de test(HTML)Destination de sortie build/reports/tests
libsDir Bibliothèque(Fichier JAR)Destination de sortie build/libs
distDir Distribution(Archives autres que les fichiers JAR)Destination de sortie build/distributions
docsDir Destination de sortie de document telle que Javadoc build/docs
sourceSets Ensemble de sources de projet principal, conteneur de l'ensemble de sources de test
sourceCompatibility Version Java lors de la compilation de la source Java Version JVM de l'environnement d'exécution du script de construction
targetCompatibility Version Java à cibler pour la génération de classe au moment de la compilation valeur de sourceCompatibility
archivesBaseName Nom de base des fichiers d'archive tels que JAR project.La valeur de la propriété name(La valeur par défaut est le nom du répertoire racine du projet)
manifest Manifeste à inclure dans tous les fichiers JAR Aucun

Accès aux propriétés dans les scripts de construction


println project.docsDir
println docsDir

Propriétés du plug-in Java (fournies par l'ensemble de sources)

Propriétés fournies par la propriété sourceSets de l'objet Project.

Propriété La description Défaut
name Nom du jeu de sources. Doit être unique au sein du projet Aucun
output Sortie du jeu de sources output.classDir、output.valeur de la propriété resourceDir
output.classDir Destination de sortie du fichier de classe de l'ensemble source build/classes/<sourceSet>
output.resourcesDir Destination de sortie des ressources de l'ensemble de sources build/resources/<sourceSet>
compileClasspath Chemin de classe au moment de la compilation de l'ensemble de sources Compilation de configuration<SourceSet>Valeur de réglage de
runtimeClasspath Chemin d'accès aux classes d'exécution de l'ensemble de sources propriété de sortie, exécution de la configuration<sourceSet>Valeur de réglage de
java Toutes les sources Java de l'ensemble de sources src/<sourceSet>/L'extension sous java est.fichier java
java.srcDirs Répertoire contenant les sources Java pour l'ensemble de sources src/<sourceSet>/java
resources Toutes les ressources de l'ensemble source src/<sourceSet>/L'extension sous ressources est.Fichiers non java
resources.srcDirs Répertoire contenant les ressources de l'ensemble source src/<sourceSet>/resources
allJava Toutes les sources Java de l'ensemble de sources paramètre de propriété Java(Sous réserve de modifications en raison de l'application du plug-in)
allSource Toutes les sources et ressources Java de l'ensemble de sources java, paramètres de propriété des ressources(Sous réserve de modifications en raison de l'application du plug-in)

Accès aux propriétés dans les scripts de construction


println project.sourceSets.test.compileClasspath
println sourceSets.test.compileClasspath
println sourceSets['test'].compileClasspath

référence

Cet article est rédigé en référence aux livres suivants.

Ouvrage de référence: [Présentation approfondie de Gradle] Construire une plate-forme automatisée avec des outils de construction de nouvelle génération](https://www.shoeisha.co.jp/book/detail/9784798136431)

Recommended Posts

Construire un projet Java avec Gradle
[Gradle] Construisez un projet Java avec une configuration différente de la convention
Application Java CICS-Run - (3) Gestion de build avec Gradle
java construire un triangle
Construction de premier niveau (Java)
Construire Java avec Wercker
Créez et testez des applications Java + Gradle avec Wercker
En utilisant Gradle avec VSCode, compilez Java → exécutez
Créez des projets Spring Boot par environnement avec Gradle
Conseils Java - Créez un projet Spring Boot avec Gradle
Ajouter un projet dans n'importe quel dossier avec Gradle
Créer un environnement de développement Java avec VS Code
Créer un multi-projet Java avec Gradle
Créer un environnement Node.js avec Docker
Créer un environnement Tomcat 8.5 avec Pleiades 4.8
Créer une application Web avec Javalin
Créer un projet Java à l'aide d'Eclipse
Construire Java avec Mac vs Code
[Java] [Play Framework] Jusqu'à ce que le projet soit démarré avec Gradle
[Note] Une histoire sur la modification des outils de compilation Java avec VS Code
Comment créer un nouveau projet Gradle + Java + Jar dans Intellij 2016.03
[Java] Créer un module exécutable avec Gradle
Créer un environnement de développement PureScript avec Docker
Créer un environnement de développement Java sur Mac
Créer un environnement de développement Wordpress avec Docker
Dé-cron! Créez un planificateur de tâches avec Rundeck
Application Java CICS-Run - (2) Gestion de build avec Maven
Diviser une chaîne avec ". (Dot)" en Java
Construire OpenCV avec Java Wrapper sur Ubuntu 18.04
Configurer un multi-projet avec des sous-répertoires dans Gradle
Présentation du test Java automatisé avec JUnit 5 + Gradle
Avec [AWS] CodeStar, vous pouvez créer un projet Spring (Java) s'exécutant sur Lambda en seulement 3 minutes! !!
build java vagrant
Création d'un projet (et d'un référentiel GitHub) à l'aide de Java et Gradle avec IntelliJ IDEA
Créez un site Web avec Spring Boot + Gradle (jdk1.8.x)
Lire une chaîne dans un fichier PDF avec Java
Rendre l'environnement SpringBoot1.5 + Gradle4.4 + Java8 + Docker compatible avec Java11
Créer un CSR avec des informations étendues en Java
Créez un tableau d'affichage simple avec Java + MySQL
[Windows] [IntelliJ] [Java] [Tomcat] Créer un environnement pour Tomcat 9 avec IntelliJ
Créons un processus chronométré avec la minuterie de Java! !!
[Gradle] Opérations de construction souvent effectuées dans les projets Java
Analyse de code statique par Checkstyle avec Java + Gradle
Créer un environnement Laravel / Docker avec VSCode devcontainer
Créez rapidement un environnement de développement WordPress avec Docker
[Java] Créer une collection avec un seul élément
Construire Java x Spring x VSCode x Gradle sur Docker (1)
Créer un environnement de test E2E avec Selenium (Java)
[Win10] Créer un environnement de développement JSF avec NetBeans
Préparer un environnement de scraping avec Docker et Java
Créer un environnement de développement pour Docker, Java, vs code
Créer un environnement d'exécution Java sur Sakura VPS
Essayez de déboguer un programme Java avec VS Code
[Développement d'applications Jakarta EE 8 avec Gradle] 2. Création de projet