我遇到过Spring.io的插件。最初看起来很棒。
我在根build.gradle文件中定义了以下内容
allprojects {
apply plugin: 'maven'
apply plugin: 'propdeps'
apply plugin: 'propdeps-maven'
apply plugin: 'propdeps-idea'
...
configurations.provided.transitive = true
configurations.provided.visible = true
}
我有一个子模块(称之为sub1
),其定义如下:
dependencies {
provided(group: 'org.apache.hadoop', name: 'hadoop-core', version:'1.2.0') {
exclude(module: 'slf4j-log4j12')
exclude(module: 'log4j')
}
...
}
还有一个sub2
依赖于第一个子模块的第二个子模块(我们称之为):
dependencies {
compile project(':sub1')
...
}
当我调用clean build
任务时,sub2
出现以下错误:
/.../.../.../blahblah.java:12:错误:包org.apache.hadoop.conf不存在import org.apache.hadoop.conf.Configuration;
缺少的导入存在于provided
构建文件的作用域中指定的jar中sub1
我以为可以设置以下内容:
configurations.provided.transitive = true
configurations.provided.visible = true
会成功的(请注意:这些道具没有任何价值)。
插件“损坏”还是我使用错了?
一个provided
依赖是一种compile
被依赖不是传递的。因此,它是毫不奇怪的sub1
的provided
依赖不会在结束了sub2
小号编译类路径“。为了解决这个问题,你需要声明依赖于两个sub1
和sub2
(例如,通过在宣布它subprojects {}
的根构建脚本)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句