Как обеспечить минимальную версию транзитивной зависимости в maven без перехода на более раннюю версию?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как обеспечить минимальную версию транзитивной зависимости в maven без перехода на более раннюю версию?

Сообщение Anonymous »

В Gradle вы можете устанавливать ограничения зависимостей. У них есть три замечательные функции:
  • Обновляет транзитивную зависимость до указанной минимальной версии, если в противном случае она была бы ниже.

    dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-tomcat:2.7.18'
    constraints {
    implementation 'org.apache.tomcat.embed:tomcat-embed-core:9.0.84' //upgrades 9.0.83->9.0.84 :)
    }
    }
  • Само может быть переопределено более высокой версией, предоставленной где-то еще (родителем или спецификацией), т. е. старое ограничение безвредно. и никогда не ПОНИЖАЕТ пакет по сравнению с тем, каким он был бы в противном случае.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-tomcat:2.7.18'
constraints {
implementation 'org.apache.tomcat.embed:tomcat-embed-core:9.0.82' // does not downgrade 9.0.83->9.0.82 :)
}
}
  • Если транзитивная зависимость не будет использоваться ни одной из ваших прямых зависимостей, она не будет включена в вашу сборку< /li>
dependencies {
// implementation 'org.springframework.boot:spring-boot-starter-tomcat:2.7.18'
constraints {
implementation 'org.apache.tomcat.embed:tomcat-embed-core:9.0.84' // does nothing :)
}
}

Я надеюсь воспроизвести эти функции в maven. Использование устанавливает флажки 1 и 3, но приводит к понижению более высоких версий, а это означает, что их необходимо постоянно очищать.


org.springframework.boot
spring-boot-starter-tomcat
2.7.18
provided





org.apache.tomcat.embed
tomcat-embed-core
9.0.82




При настройке диапазона версий всегда будет использоваться самая высокая версия в этом диапазоне.


org.springframework.boot
spring-boot-starter-tomcat
2.7.18
provided





org.apache.tomcat.embed
tomcat-embed-core
[9.0.82,)




Мой желаемый результат:


org.springframework.boot
spring-boot-starter-tomcat
2.7.18
provided





org.apache.tomcat.embed
tomcat-embed-core
9.0.82





Подробнее здесь: https://stackoverflow.com/questions/793 ... t-downgrad
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»