Gradle - Crée un fichier JAR avec des dépendances

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 :

  1. Gradle 2.0

  2. JDK 1.7

  3. Logback 1.1.2

1. Répertoire des projets

Créez la structure de dossiers de projet suivante:

gradle-hello-folder

Par défaut, Gradle utilise la structure de projet Maven standard.

  1. ${Project}/src/main/java/

  2. ${Project}/src/main/resources/

  3. ${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/.

gradle-build-folder

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)