Включая локальную зависимость jar с соответствующим исходным jar в gradle - PullRequest
0 голосов
/ 28 мая 2019

Как включить локальную зависимость jar и соответствующие ей исходные файлы jar (для моей IDE, Intellij) в Gradle?

Я попытался добавить flatDir в lib (каталог в том же каталоге).родительский каталог как все элементы Gradle) в repositories, где lib содержит mylib-1.0.jar и mylib-1.0-sources.jar.Затем я положил implementation name: "mylib-1.0" под dependencies.Jar с скомпилированными классами был включен, но не исходники.

Я также попытался создать локальный репозиторий maven.В этом случае lib содержит

lib/xxx/yyy/mylib/1.0/mylib-1.0.jar

и

lib/xxx/yyy/mylib/1.0/mylib-1.0-sources.jar

, где xxx.yyy - идентификатор группы.Я добавил

maven {
    url uri("lib")
}

под repositories и

implementation group: "xxx.yyy", name: "mylib", version: "1.0"

под dependencies.Все еще не работало - ни один jar не был включен в этот раз.

Я также попытался добавить минимальный POM в тот же каталог, что и оба jar, но это ничего не изменило.

Есть идеи о том, где я могу пойти не так?

Примечание: я не специалист по использованию Gradle или Maven.

Редактировать: Обоснование: если кто-то предлагает это, яЯ знаю, что я могу просто включить в качестве зависимости jar с скомпилированным классом и «связать» исходный jar с ним в Intellij, но затем каждый раз, когда я обновляю gradle, мне приходится заново связывать их.

1 Ответ

0 голосов
/ 28 мая 2019

Ниже приводятся следующие подходы.

До начала 5

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
}

Здесь libs - это каталог, содержащий список файлов jar, и он долженнаходиться внутри базовой директории вашего проекта.

Вы также можете использовать следующий способ, если у вас есть только один файл JAR.Здесь библиотеки libs относятся к каталогу, который содержит только один файл jar, а библиотеки libs доступны в базовом каталоге проекта.

dependencies {
    compile files('libs/your jar file name.jar')
}

Если вы хотите указать список файлов jar, вы можете использовать его следующим образом.

dependencies {
compile files(‘libs/a.jar’,
‘libs/b.jar’,
‘libs/c.jar’
)
}

В Gradle 5 Вы должны использовать следующий способ.

dependencies {
    externalLibs files('libs/a.jar', 'libs/b.jar')
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...