У меня возникли проблемы с поиском правильного способа публикации библиотеки Java в артефактах, когда в проекте используется пользовательская спецификация.
Этот проект имеет многомодульную структуру —
* my-root
* my-bom
* build.gradle
* my-library
* src
* build.gradle
* my-app
* src
* build.gradle
* settings.gradle
my-bom/build.gradle имеет
plugins {
id 'java-platform'
}
javaPlatform {
allowDependencies()
}
dependencies {
api platform('org.springframework.cloud:spring-cloud-dependencies:2023.0.3')
api platform("org.springframework.boot:spring-boot-dependencies:3.3.4")
api platform('org.junit:junit-bom:5.11.0')
constraints {
api 'net.logstash.logback:logstash-logback-encoder:8.0'
api "org.mockito:mockito-junit-jupiter:5.13.0"
api 'commons-io:commons-io:2.17.0'
...
...
}
}
Этот проект включен в my-library/build.gradle
plugins {
id 'java-library'
id 'com.jfrog.artifactory'
id 'maven-publish'
}
dependencies {
implementation platform(project(':my-bom'))
implementation "org.springframework.boot:spring-boot-starter-validation"
implementation "org.springframework.boot:spring-boot-starter-webflux"
...
...
}
Я опубликовал jar с помощью команды ./gradlew :my-library:assemble :my-library:publish
Это моя конфигурация артефакта -
artifactory {
contextUrl = ...
publish {
repository {
maven = true
repoKey = ...
username = ...
password = ...
}
defaults {
publications('mavenJava')
}
}
resolve {
repository {
maven = true
repoKey = ...
username = ...
password = ...
}
}
}
publishing {
repositories {
maven {
credentials {
username ...
password ...
}
url ...
}
}
publications {
library(MavenPublication) {
from components.java
}
}
}
Я пытался разрешить опубликованный jar в моем приложении с помощью реализации (группа: 'my-group', имя: 'my-library', версия: ' +') но получаю ошибку -
> Could not resolve my-group:my-library:v0.0.1.
> Could not parse POM https://****.jfrog.io/****/my-library/v0.0.1/my-library-v0.0.1.pom
> Could not find my-root:my-bom:unspecified
Когда я скачал помпон, я вижу
4.0.0
my-group
my-library
v0.0.1
my-root
my-bom
unspecified
pom
import
org.springframework.boot
spring-boot-starter-validation
runtime
org.springframework.boot
spring-boot-starter-webflux
runtime
...
...
Я попробовал поискать в Интернете, но ни один из них не имел такой же настройки, как у меня. Я попробовал изменить их решения, но не смог найти правильный способ публикации jar.
Пожалуйста, помогите правильно опубликовать мою библиотеку.
gradle = 8.5,
springboot = 3.3.4,
jfrog's build-info-extractor-gradle = 4+
Подробнее здесь: https://stackoverflow.com/questions/790 ... custom-bom
Как опубликовать библиотеку при использовании пользовательской спецификации ⇐ JAVA
Программисты JAVA общаются здесь
1728950924
Anonymous
У меня возникли проблемы с поиском правильного способа публикации библиотеки Java в артефактах, когда в проекте используется пользовательская спецификация.
Этот проект имеет многомодульную структуру —
* my-root
* my-bom
* build.gradle
* my-library
* src
* build.gradle
* my-app
* src
* build.gradle
* settings.gradle
my-bom/build.gradle имеет
plugins {
id 'java-platform'
}
javaPlatform {
allowDependencies()
}
dependencies {
api platform('org.springframework.cloud:spring-cloud-dependencies:2023.0.3')
api platform("org.springframework.boot:spring-boot-dependencies:3.3.4")
api platform('org.junit:junit-bom:5.11.0')
constraints {
api 'net.logstash.logback:logstash-logback-encoder:8.0'
api "org.mockito:mockito-junit-jupiter:5.13.0"
api 'commons-io:commons-io:2.17.0'
...
...
}
}
Этот проект включен в my-library/build.gradle
plugins {
id 'java-library'
id 'com.jfrog.artifactory'
id 'maven-publish'
}
dependencies {
implementation platform(project(':my-bom'))
implementation "org.springframework.boot:spring-boot-starter-validation"
implementation "org.springframework.boot:spring-boot-starter-webflux"
...
...
}
Я опубликовал jar с помощью команды ./gradlew :my-library:assemble :my-library:publish
Это моя конфигурация артефакта -
artifactory {
contextUrl = ...
publish {
repository {
maven = true
repoKey = ...
username = ...
password = ...
}
defaults {
publications('mavenJava')
}
}
resolve {
repository {
maven = true
repoKey = ...
username = ...
password = ...
}
}
}
publishing {
repositories {
maven {
credentials {
username ...
password ...
}
url ...
}
}
publications {
library(MavenPublication) {
from components.java
}
}
}
Я пытался разрешить опубликованный jar в моем приложении с помощью реализации (группа: 'my-group', имя: 'my-library', версия: ' +') но получаю ошибку -
> Could not resolve my-group:my-library:v0.0.1.
> Could not parse POM https://****.jfrog.io/****/my-library/v0.0.1/my-library-v0.0.1.pom
> Could not find my-root:my-bom:unspecified
Когда я скачал помпон, я вижу
4.0.0
my-group
my-library
v0.0.1
my-root
my-bom
unspecified
pom
import
org.springframework.boot
spring-boot-starter-validation
runtime
org.springframework.boot
spring-boot-starter-webflux
runtime
...
...
Я попробовал поискать в Интернете, но ни один из них не имел такой же настройки, как у меня. Я попробовал изменить их решения, но не смог найти правильный способ публикации jar.
Пожалуйста, помогите правильно опубликовать мою библиотеку.
gradle = 8.5,
springboot = 3.3.4,
jfrog's build-info-extractor-gradle = 4+
Подробнее здесь: [url]https://stackoverflow.com/questions/79088026/how-to-publish-library-when-using-custom-bom[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия