【问题标题】:gradle spring boot force dependencygradle spring boot 力依赖
【发布时间】:2017-10-29 12:11:52
【问题描述】:

我正在使用 spring boot gradle 插件 2.0.0.M3,我想在最终的 jar 中包含 spring-data-elasticsearch:3.0.0.RC2

下面是我的 build.gradle

buildscript {
    ext {
        springBootVersion = '2.0.0.M3'
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

plugins {
    id "io.spring.dependency-management" version "1.0.3.RELEASE"
}

apply plugin: 'org.springframework.boot'
apply plugin: 'maven-publish'
apply plugin: 'java'

dependencyManagement {
    imports {
        mavenBom 'org.springframework.cloud:spring-cloud-starter-parent:Finchley.M2'
    }
}

group='mygroup'
version='1.0.0'


configurations.all {
    exclude group: 'javax.servlet.jsp', module: 'jsp-api'
    exclude group: 'org.mortbay.jetty'

    resolutionStrategy {
        force("org.springframework.data:spring-data-elasticsearch:3.0.0.RC2")
    }

}

但是强制解析不起作用。而不是 spring-data-elasticsearch-3.0.0.RC2 , spring-data-elasticsearch-3.0.0.M4 被拉出。

下面是依赖细节

org.springframework.data:spring-data-elasticsearch:3.0.0.RC2 -> 3.0.0.M4

强制解析在 Spring boot 中不起作用吗?

【问题讨论】:

    标签: gradle


    【解决方案1】:

    如果以通常的方式提及依赖项,它会起作用

    configurations.all {
    
        resolutionStrategy {
            force("org.springframework.data:spring-data-elasticsearch:3.0.0.RC2")
        }
    
    }
    
    dependencies {
    
        compile("org.springframework.boot:spring-boot-starter-data-jpa")
    
        compile "org.springframework.data:spring-data-elasticsearch:3.0.0.RC2"
    }
    

    【讨论】:

    • resolutionStrategy 似乎被忽略了——Spring Boot 的依赖解析在你的情况下正确处理了编译依赖,但在你的情况下,前 5 行没有做任何事情。就我而言,我不想直接指定依赖项,我只想覆盖版本。
    猜你喜欢
    • 2022-12-23
    • 2016-09-17
    • 2020-03-31
    • 2019-01-27
    • 2020-09-27
    • 2019-07-26
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多