Как использовать новую версию библиотеки с Spring Boot


Я разрабатываю приложение, используя Spring Boot 1.5.9.Релиз, и я использую Gradle в качестве инструмента сборки.

Я хочу использовать SelenumHQ 3.8.1 в проекте.

Когда я строил проект, я заметил, что в проект был добавлен селен 2.53.1 (а не 3.8.1), поэтому я исследовал и выяснил причину.

В моей сборке существует следующее утверждение.грэдл:

dependencyManagement {
    imports {
        mavenBom("org.springframework.boot:spring-boot-dependencies:1.5.9.RELEASE")
    }
}

И в этом файле селен.свойство version имеет значение '2.53.1'.

Таким образом, я изменил заявление к

dependencyManagement {
    imports {
        mavenBom("org.springframework.boot:spring-boot-dependencies:1.5.9.RELEASE") {
            bomProperty 'selenium.version', '3.8.1'
        }
    }
}
Но теперь IDEA показывает и 3.8.1, и 2.53.1 как зависимости проекта, и когда я строю артефакт с помощью gradle, существуют только зависимости 2.53.1 и никаких признаков 3.8.1.

Как я могу изменить это поведение и использовать Selenium 3.8.1?

P.S. Selenium состоит из нескольких файлов jar, поэтому это не просто один файл Jar, и я хочу обновить их все в максимально минимизированном виде с помощью gradle.

2 3

2 ответа:

Я нашел ответ в здесь.

Я переопределю свойство, используя: ext['selenium.version']='3.8.1' оператор.

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

Вам придется очистить его, а затем повторно импортировать зависимости. Конечно, другая зависимость может также иметь зависимость от 2.53.1, которая приведет его снова.

Я не знаю Gradle, но maven вы можете сделать зависимость дерева mvn, которая будет перечислять все зависимости и далее вниз,и вы можете просмотреть его, чтобы увидеть, является ли selenium зависимостью для другой зависимости тоже.