Как запретить maven обновлять библиотеки специально импортированной библиотеки?JAVA

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

Сообщение Anonymous »

У меня есть 2 проекта, скажем, проект API и проект Consumer. Проект API предназначен для использования в качестве библиотеки, которую я могу импортировать в проект Consumer в качестве зависимости maven. API проекта имеет следующий pom.xml

Код: Выделить всё

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

groupid
artifactid
versionid
jar

name
http://maven.apache.org


UTF-8
17






org.seleniumhq.selenium
**selenium-api**
**2.52.0**


org.seleniumhq.selenium
**selenium-htmlunit-driver**
**2.52.0**


org.seleniumhq.selenium
**selenium-support**
**2.52.0**


org.seleniumhq.selenium
**selenium-remote-driver**
**2.52.0**



net.sourceforge.htmlunit
**htmlunit**
**2.18**






org.junit.jupiter
junit-jupiter-engine
5.8.1
test


org.jsoup
jsoup
1.17.2


org.seleniumhq.selenium
selenium-htmlunit-driver
2.52.0


org.seleniumhq.selenium
selenium-api


net.sourceforge.htmlunit
htmlunit




org.seleniumhq.selenium
selenium-api
2.52.0


org.seleniumhq.selenium
selenium-support
2.52.0


org.seleniumhq.selenium
selenium-remote-driver
2.52.0


net.sourceforge.htmlunit
htmlunit
2.18


org.apache.commons
commons-collections4
4.4






org.apache.maven.plugins
maven-compiler-plugin
3.8.1

${java.version}
${java.version}







github
GitHub OWNER Apache Maven Packages
https://maven.pkg.github.com/OWNER/REPO



Как видите, я публикую проект на github. Затем в моем проекте Consumer я импортирую библиотеку как простую зависимость. Но я вижу, что в дереве зависимостей (mvn dependency:tree) библиотеки обновлены до более новых версий:

Код: Выделить всё

org.opensource:**API**:jar:1.0-SNAPSHOT:compile
[INFO]    +- org.jsoup:jsoup:jar:1.17.2:compile
[INFO]    +- org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.52.0:compile
[INFO]    |  +- commons-collections:commons-collections:jar:3.2.2:compile
[INFO]    |  \- org.apache.httpcomponents:httpclient:jar:4.5.1:compile
[INFO]    |     +- org.apache.httpcomponents:httpcore:jar:4.4.16:compile
[INFO]    |     \- commons-logging:commons-logging:jar:1.2:compile
[INFO]    +- **org.seleniumhq.selenium:selenium-api:jar:4.19.1**:compile
[INFO]    +- **org.seleniumhq.selenium:selenium-support:jar:4.19.1**:compile
[INFO]    |  +- com.google.auto.service:auto-service-annotations:jar:1.1.1:compile
[INFO]    |  +- com.google.guava:guava:jar:33.1.0-jre:compile
[INFO]    |  |  +- com.google.guava:failureaccess:jar:1.0.2:compile
[INFO]    |  |  +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO]    |  |  +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO]    |  |  +- org.checkerframework:checker-qual:jar:3.42.0:compile
[INFO]    |  |  +- com.google.errorprone:error_prone_annotations:jar:2.26.1:compile
[INFO]    |  |  \- com.google.j2objc:j2objc-annotations:jar:3.0.0:compile
[INFO]    |  \- org.seleniumhq.selenium:selenium-json:jar:4.19.1:compile
[INFO]    +- **org.seleniumhq.selenium:selenium-remote-driver:jar:4.19.1**:compile
[INFO]    |  +- io.opentelemetry.semconv:opentelemetry-semconv:jar:1.23.1-alpha:compile
[INFO]    |  +- io.opentelemetry:opentelemetry-api:jar:1.37.0:compile
[INFO]    |  +- io.opentelemetry:opentelemetry-context:jar:1.37.0:compile
[INFO]    |  +- io.opentelemetry:opentelemetry-exporter-logging:jar:1.37.0:compile
[INFO]    |  +- io.opentelemetry:opentelemetry-sdk-common:jar:1.37.0:compile
[INFO]    |  +- io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:jar:1.37.0:compile
[INFO]    |  +- io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:jar:1.37.0:compile
[INFO]    |  |  \- io.opentelemetry:opentelemetry-api-incubator:jar:1.37.0-alpha:runtime
[INFO]    |  +- io.opentelemetry:opentelemetry-sdk-trace:jar:1.37.0:compile
[INFO]    |  +- io.opentelemetry:opentelemetry-sdk:jar:1.37.0:compile
[INFO]    |  |  +- io.opentelemetry:opentelemetry-sdk-metrics:jar:1.37.0:compile
[INFO]    |  |  \- io.opentelemetry:opentelemetry-sdk-logs:jar:1.37.0:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-http:jar:4.19.1:compile
[INFO]    |  |  \- dev.failsafe:failsafe:jar:3.3.2:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-manager:jar:4.19.1:compile
[INFO]    |  \- org.seleniumhq.selenium:selenium-os:jar:4.19.1:compile
[INFO]    |     \- org.apache.commons:commons-exec:jar:1.3:compile
[INFO]    \- **net.sourceforge.htmlunit:htmlunit:jar:2.70.0**:compile
[INFO]       +- org.apache.httpcomponents:httpmime:jar:4.5.14:compile
[INFO]       +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.70.0:compile
[INFO]       +- net.sourceforge.htmlunit:neko-htmlunit:jar:2.70.0:compile
[INFO]       +- net.sourceforge.htmlunit:htmlunit-cssparser:jar:1.14.0:compile
[INFO]       +- net.sourceforge.htmlunit:htmlunit-xpath:jar:2.70.0:compile
[INFO]       +- org.apache.commons:commons-text:jar:1.10.0:compile
[INFO]       +- commons-net:commons-net:jar:3.9.0:compile
[INFO]       +- org.brotli:dec:jar:0.1.2:compile
[INFO]       +- com.shapesecurity:salvation2:jar:3.0.1:compile
[INFO]       \- org.eclipse.jetty.websocket:websocket-client:jar:9.4.50.v20221201:compile
[INFO]          +- org.eclipse.jetty:jetty-client:jar:12.0.9:compile
[INFO]          |  +- org.eclipse.jetty:jetty-alpn-client:jar:12.0.9:compile
[INFO]          |  \- org.eclipse.jetty:jetty-http:jar:12.0.9:compile
[INFO]          +- org.eclipse.jetty:jetty-util:jar:12.0.9:compile
[INFO]          +- org.eclipse.jetty:jetty-io:jar:12.0.9:compile
[INFO]          \- org.eclipse.jetty.websocket:websocket-common:jar:9.4.50.v20221201:compile
[INFO]             \- org.eclipse.jetty.websocket:websocket-api:jar:9.4.50.v20221201:compile
Все зависимости, связанные с селеном, игнорируют заявленную версию 2.52.0 APi pom.xml и при импорте в другой проект изменяются на 4.19.1
Я решил эту проблему, перейдя к проекту Consumer pom.xml и добавив в управление зависимостями нужные мне версии из каждой библиотеки. Есть ли лучший способ сделать это и заставить Maven использовать в проекте Consumer версии, объявленные в API pom.xml?


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

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

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

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

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

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

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