[英]Gradle project dependency error in Jenkins
我有一个类似的项目结构
//Directory structure
Root Folder/
projectA/
build.gradle
projectB/
build.gradle
properties.gradle
现在,项目B依赖于项目A.
Project B的settings.gradle和build.gradle如下所示
settings.gradle
include ':ProjectA'
project(':ProjectA').projectDir = new File(settingsDir, '../ProjectA')
的build.gradle
dependencies{
compile project(':ProjectA')
}
当我尝试在我的本地机器(Gradle版本3.2)上构建项目B时,它成功构建并且一切看起来都很好。
当我尝试在jenkins中构建相同的项目(与我的本地相同的gradle版本)时,我收到错误
Caused by: org.gradle.api.artifacts.UnknownConfigurationException: Configuration with name 'default' not found.
它看起来像詹金斯,它无法弄清楚相对路径。
我该如何解决这个问题?
在jenkins中有没有办法我可以忽略gradle中的依赖项并使用pre build编译ProjectA并将其放在类路径中? 如果是这样我们怎么做呢?
我能够通过添加一个我在构建文件中检查的jenkins属性来解决这个问题
if (project.hasProperty('jenkins')) {
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
} else {
dependencies {
compile project(':ProjectA')
}
}
因此,当我们在本地构建它时,因为我们没有传递属性,所以它能够编译ProjectA。 在Jenkins,构建作业中,在gradle命令中,我传递了以下-Pjenkins clean构建 。 这将转到if条件并从projectA中提取jar并将其放入lib目录中。
这已经解决了我的问题,让我知道是否有更好的解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.