繁体   English   中英

Jenkins中的Gradle项目依赖性错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM