使用远程存储库时Gradle Build问题

时间:2017-03-23 06:30:01

标签: gradle

我面临的问题与gradle构建有关。我想解释一下我在做什么。 我在远程服务器上创建了一个远程存储库,我可以从浏览器访问它(我保留了一些依赖项Jars的共享文件夹)。 现在我想在build.gradle中使用该远程存储库(就像远程maven存储库一样),所以我添加了这样的代码片段:

  apply plugin: 'maven'
  repositories{
     maven {
            //URL of the remote repository
            url "http://IP:Port/SharedPath"
     }
  }
  dependencies {
         //Dependencies which are there in remote repository.
         compile group: "GroupName", name: "DependencyName", version: "Version"
         compile group: "GroupName1", name: "DependencyName1", version: ""
   }

当我运行gradle build时,我收到如下错误消息:

    FAILURE: Build failed with an exception.
    * What went wrong:
    Could not resolve all dependencies for configuration ':compileClasspath'.
    > Could not find :cachedb.jar:.
        Searched in the following locations:
            http://IP:Port/SharedPath/GroupName/DependencyName/Version/DependencyName-Version.pom
            http://IP:Port/SharedPath/GroupName/DependencyName/Version/DependencyName-Version.jar
        Required by:
        :site-export-tool:unspecified
    > Could not find :cachejdbc:.
        Searched in the following locations:
            http://IP:Port/SharedPath/GroupName1/DependencyName1//DependencyName1-.pom
            http://IP:Port/SharedPath/GroupName1/DependencyName1//DependencyName1-.jar
        Required by:
        :site-export-tool:unspecified

我不明白为什么它会在路径上搜索文件: url / GroupName / DependencyName / Version / DependencyName-Version.jar

虽然它应该仅在URL中的路径上检查jar,而不是在 GroupName DependencyName 的名称上的某个文件夹结构下检查...等等简单地说,我不想传递GroupName(这可能吗?) 请注意:我也试过了:

  compile files ('lib/DependencyName-Version.jar',
        'lib/DependencyName1.jar')

请注意,当我在本地系统中保留这些依赖项并在 flatDir 中定义它们时,我 NOT 在这种情况下遇到任何问题。

我正在尝试使用远程存储库,因为我们组织中的用户希望使用集中位置。 如果我需要对我使用的gradle配置或gradle版本(gradle 2.13)或build.gradle中的任何内容做任何事情,请告诉我。我不明白我在这里做了什么错。从过去2天开始: - (

先谢谢你!

1 个答案:

答案 0 :(得分:1)

这是因为当您使用maven {url ".."}时,gradle需要标准的maven存储库结构,这是

/$groupId[0]/../${groupId[n]/$artifactId/$version/$artifactId-$version.$extension

请参阅https://cwiki.apache.org/confluence/display/MAVENOLD/Repository+Layout+-+Final

要么遵循该结构,要么尝试使用带有自定义布局的Ivy存储库。

https://docs.gradle.org/current/userguide/dependency_management.html#sec:defining_custom_pattern_layout_for_an_ivy_repository