Публикация здесь для отзывов/советов.
У меня есть библиотека Java - Lib и проект Java - Consumer, каким-то образом зависимости от Lib< /strong> (объявленные как API, которые должны быть доступны потребителям) не читаются и не вызываются Java-проектом Consumer.
Проблема: когда Java-проект Consumer попробуйте вызвать библиотеку Java Lib, зависимости, объявленные как API, не вызываются в пути к классу компиляции (Потребителя). Это происходит только после сборки и публикации в удаленном репозитории (внутреннем сервере компании). Однако при локальном тестировании (сборка и публикация в локальном Maven) зависимости API вызываются правильно.
Любые советы/отзывы/советы приветствуются!!! Спасибо!
Ниже приведен файл build.gradle для Lib и Consumer:
Lib:
plugins {
id 'java-library'
id 'distribution'
id 'maven-publish'
}
dependencies {
api ("lib-1-to-be-exposed-to-consumer")
api ("lib-2--to-be-exposed-to-consumer")
implementation ("lib-3-to-be-used-internally")
}
java {
withSourcesJar()
}
publishing {
publications {
library(MavenPublication) {
from components.java
}
}
}
tasks.withType(GenerateMavenPom).all {
destination = "$buildDir/libs/${project.name}-${version}.pom"
}
repositories {
mavenLocal()
maven url {interalCompanyRepository}
}
build.finalizedBy generatePomFileForLibraryPublication
Потребитель:
plugins {
id 'java'
id 'distribution'
id 'maven-publish'
}
dependencies {
implementation ("Lib")
}
...
Подробнее здесь: https://stackoverflow.com/questions/789 ... -api-not-s
Необходим совет для сборки Gradle - транзитивные зависимости (объявленные как API) не отображаются в пути к классу компи ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как объявить «транзитивные» зависимости вкуса в многомодульном проекте Gradle?
Anonymous » » в форуме Android - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как объявить «транзитивные» зависимости вкуса в многомодульном проекте Gradle?
Anonymous » » в форуме Android - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-
Мобильная версия