微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从gradle中排除jar

我尝试从gradle构建中排除一个jar但是如何为我的项目部分做这个我不清楚.下面是我必须排除geronimo-javamail_1.4_spec / 1.7.1 jar的依赖项,因为当我尝试时会出错发送邮件.请给出指导来解决这个问题.

    dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-starter-batch")
    //compile("org.springframework.boot:spring-boot-devtools")
    compile('org.apache.commons':'commons-lang3':'3.5'){
                exclude module: 'geronimo'
    }
    compile group: 'org.apache.cxf', name: 'cxf-spring-boot-starter-jaxws', version: '3.1.10'
    compile group: 'org.apache.cxf', name: 'cxf-rt-ws-security', version: '3.1.10'
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

更新:排除不起作用

解决方法:

首先,这个陈述存在一个问题:

compile('org.apache.commons':'commons-lang3':'3.5')

如果要将冒号表示法用于依赖项,则必须将其全部放在一个String中,如下所示:

compile('org.apache.commons:commons-lang3:3.5')

此外,您应该使用完整的模块名称:module:’geronimo-javamail_1.4_spec’.

最后,geronimo-javamail_1.4_spec是此设置中多个依赖项的传递依赖项,因此您应该在必要时将其逐个排除,或者将其完全排除,如下所示:

configurations {
    all*.exclude module: 'geronimo-javamail_1.4_spec'
}

这应该在build.gradle文件添加到与依赖项{}部分相同的级别,而不是在其中,因此最终代码如下所示:

configurations {
    all*.exclude module: 'geronimo-javamail_1.4_spec'
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile("org.springframework.boot:spring-boot-starter-web")  
    compile("org.springframework.boot:spring-boot-starter-batch")
    //compile("org.springframework.boot:spring-boot-devtools")
    compile('org.apache.commons:commons-lang3:3.5')
    compile group: 'org.apache.cxf', name: 'cxf-spring-boot-starter-jaxws', version: '3.1.10'
    compile group: 'org.apache.cxf', name: 'cxf-rt-ws-security', version: '3.1.10'
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐