gradle对java插件的扩展_Java插件的Gradle 'Provided'依赖项

我正在尝试编译几个WAR文件,所有这些都取决于一个常见的JAR模块 . 然而,在我的Gradle构建中,我似乎无法获得使用Java插件的“提供”之类的依赖项 .

我的编译看起来像这样:

apply plugin: 'java'

configurations{

providedCompile

}

dependencies {

compile module("org.springframework.amqp:spring-amqp:${springAmqpVersion}")

compile module("org.slf4j:slf4j-api:${slf4jVersion}")

compile module("org.slf4j:slf4j-ext:${slf4jVersion}")

providedCompile "javax.servlet:servlet-api:${servletApiVersion}"

runtime module("org.slf4j:jcl-over-slf4j:${slf4jVersion}")

runtime module("org.slf4j:jul-to-slf4j:${slf4jVersion}")

runtime module("org.slf4j:log4j-over-slf4j:${slf4jVersion}")

sourceArchives module("org.springframework.amqp:spring-amqp:${springAmqpVersion}:sources")

sourceArchives module("javax.servlet:servlet-api:${servletApiVersion}:sources")

}

sourceSets {

main { compileClasspath += configurations.providedCompile }

}

但是,最后一位是它获得异常的地方 . 我已经尝试在运行时依赖项扩展它之后将servlet-api(由Tomcat提供)添加到配置中,或者只是将其作为编译模块放入,然后将其从运行时依赖项中删除 .

我尝试了几种不同的修改依赖关系的方法,最接近的结果是:

newRuntime = configurations.runtime.minus(configurations.providedCompile)

configurations.runtime = newRuntime

然而,最后一点将生成具有适当依赖关系的变量newRuntime,但是当我尝试将变量重新分配回运行时配置时,它会抛出"Cannot find property exception"

我在Gradle的错误跟踪上发现了很多关于这个确切问题的讨论:Gradle-784

然而,主要的导致是来自Spring,他使用Maven和他们的gradle构建,我不熟悉 .

我在SO上找到的最有希望的链接,但不幸的是我无法让这些例子工作:SO Provided Question Stack Overflow问题的注意事项显示了最有希望的一行:

//Include provided for compilation

sourceSets.main.compileClasspath += configurations.provided

此行不会像其他尝试一样给出错误,但似乎提供的Compile(我提供的版本)依赖项实际上并未放在编译类路径上,因为尝试编译时会出现类路径错误 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值