Добавить библиотеку в gradle build
Я пытаюсь добавить org.apache.commons.lang3
в мою сборку. Я загрузил библиотеку, которая представляет собой каталог, содержащий файлы jar.
Моя группа использует gradle для создания проекта, и я знаю достаточно, чтобы спросить правильный вопрос. Так что я думаю, что сборка выполняется
- копирование связки .bnds в каталог сборки
- компилирует java, который мы имеем в src/main/java (через источник sourceSets.main.java.srcDirs?)
Я хотел бы добавить библиотеку lang3, но я не уверен, как это сделать. Могу ли я просто сбросить его в src/main/java? Или мне нужно сообщить об этом gradle?
Это то, что я думаю, имеет отношение к текущему build.gradle
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'
Ответы
Ответ 1
Вы можете объявить его как зависимость, если она существует в любом удаленном репозитории. То, как я это сделаю.
Но если вы хотите использовать локальный файл, не помещайте его в src/main. Используйте дополнительную папку под названием lib или аналогичную на том же уровне каталога, что и src, или вы создаете script.
Затем вы можете добавить локальную зависимость, как в этом примере:
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'
}
Ответ 2
Самый простой способ - использовать репозиторий maven для доступа к зависимостям.
Вы также можете получить доступ к этому банку непосредственно из файловой системы с зависимостями файлов.
dependencies {
compile files('libs/a.jar', 'libs/b.jar')
compile fileTree(dir: 'libs', include: '*.jar')
}