web-dev-qa-db-fra.com

Ajouter une bibliothèque à la construction gradle

J'essaie d'ajouter org.Apache.commons.lang3 à ma version. J'ai téléchargé la bibliothèque qui est un répertoire contenant des fichiers jar.

Mon groupe utilise gradle pour construire le projet, et j'en sais juste assez pour peut-être poser la bonne question. Donc, je pense que la construction fait

  1. copier un tas de .bnds dans le répertoire de construction
  2. compile le Java que nous avons dans src/main/Java (via la source sourceSets.main.Java.srcDirs?)

Je voudrais ajouter la bibliothèque lang3, mais je ne sais pas comment procéder. Puis-je simplement le vider dans src/main/java? Ou dois-je en parler à Gradle?

C'est ce que je pense est pertinent de la build.gradle actuelle

ext.releaseDir = "${buildDir}/release/${tpVersion.getProgramName()}"
ext.bundlesDir = "${releaseDir}/nucleus/bin/nucleus_Java/bundles/"

dependencies {
   compile fileTree(dir: bundlesDir, include: '*.jar')

bnd {
   source sourceSets.main.Java.srcDirs
   include '**/*.bnd'
15
itchmyback

Vous pouvez le déclarer comme une dépendance, s'il existe dans un référentiel distant. C'est comme ça que je le ferais.

Mais si vous souhaitez utiliser le fichier local, ne le mettez pas dans src/main. Utilisez un dossier supplémentaire appelé lib ou similaire au même niveau de répertoire que src ou vous créez un script.

Ensuite, vous pouvez ajouter la dépendance locale comme dans cet exemple:

repositories {
    //central maven repo
    mavenCentral()
}

dependencies {
    //local file
    compile files('libs/toxiclibscore.jar')

    //dependencies from a remote repository
    compile 'Java3d:vecmath:1.3.1', 'commons-lang:commons-lang:2.6'
}
19
Spindizzy

Le moyen le plus simple consiste à utiliser le référentiel maven pour accéder aux dépendances.

Vous pouvez également accéder à ce pot directement à partir du système de fichiers avec dépendances de fichiers .

dependencies {
    compile files('libs/a.jar', 'libs/b.jar')
    compile fileTree(dir: 'libs', include: '*.jar')
}
9
MariuszS