Gradle - Créer un fichier Jar avec des dépendances
Dans ce didacticiel, nous allons vous montrer comment utiliser l'outil de constructionGradle pour créer un seul fichier Jar avec des dépendances.
Les outils utilisés :
-
Gradle 2.0
-
JDK 1.7
-
Logback 1.1.2
1. Répertoire des projets
Créez la structure de dossiers de projet suivante:
Par défaut, Gradle utilise la structure de projet Maven standard.
-
${Project}/src/main/java/
-
${Project}/src/main/resources/
-
${Project}/src/test/java/
2. Fichiers Java
Un seul fichier Java pour imprimer la date et l'heure actuelle, et enregistre le message avec un retour de session.
DateUtils.java
package com.example; import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DateUtils{ private static final Logger logger = LoggerFactory.getLogger(DateUtils.class); public static void main(String[] args) { logger.debug("[MAIN] Current Date : {}", getCurrentDate()); System.out.println(getCurrentDate()); } private static Date getCurrentDate(){ return new Date(); } }
logback.xml
%-5level %logger{36} - %msg%n
3. build.gradle
Un exemple debuild.gradle
pour créer un fichier Jar avec ses dépendances de journalisation.
build.gradle
apply plugin: 'java' apply plugin: 'eclipse' version = '1.0' sourceCompatibility = 1.7 targetCompatibility = 1.7 //create a single Jar with all dependencies task fatJar(type: Jar) { manifest { attributes 'Implementation-Title': 'Gradle Jar File Example', 'Implementation-Version': version, 'Main-Class': 'com.example.DateUtils' } baseName = project.name + '-all' from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } with jar } //Get dependencies from Maven central repository repositories { mavenCentral() } //Project dependencies dependencies { compile 'ch.qos.logback:logback-classic:1.1.2' }
4. Créer un fichier Jar
Nettoyez le projet.
$ gradle clean
Exécutez la tâche GradlefatJar
.
$ gradle fatJar :compileJava :processResources :classes :fatJar BUILD SUCCESSFUL Total time: 6.4 secs
Le Jar est créé dans le dossier$project/build/libs/
.
5. Exécuter
Exécutez-le -java -jar hello-all-1.0.jar
.
$Project\build\libs> java -jar hello-all-1.0.jar 16:22:13,249 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy] 16:22:13,249 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] //... DEBUG com.example.DateUtils - [MAIN] Current Date : Wed Aug 27 16:22:13 SGT 2014 Wed Aug 27 16:22:13 SGT 2014
Terminé.
Télécharger le code source
Télécharger -gradle-create-single-jar.zip (1,4 Ko)