【问题标题】:How to list the configured repositories?如何列出已配置的存储库?
【发布时间】:2015-08-21 14:51:47
【问题描述】:

如何列出为项目配置的所有存储库?

背景:我有一个非常复杂的 gradle 构建脚本和 cannot get my NetBeans to download the sources 用于 maven 依赖项。在那个问题报告中,有人建议我仔细检查 mavenCentral 的导入顺序。

【问题讨论】:

    标签: gradle netbeans-plugins


    【解决方案1】:

    对于任何感兴趣的人,这里是列出已加载存储库的代码(感谢@kelemen):

    task listrepos {
        doLast {
            println "Repositories:"
            project.repositories.each { println "Name: " + it.name + "; url: " + it.url }
       }
    }
    

    将此代码添加到构建脚本后,执行gradle listrepos 和voilà...

    【讨论】:

    • 另外,如果你想检查凭据是否设置正确,你可以打印it.credentials.usernameit.credentials.password
    【解决方案2】:

    如果有人来到此页面寻找与@Alberto 的答案等效的 Kotlin (build.gradle.kts),将按以下方式完成:

    tasks.register("listrepos") {
        doLast {
            println("Repositories:")
            project.repositories.map{it as MavenArtifactRepository}
                .forEach{
                println("Name: ${it.name}; url: ${it.url}")
            }
        }
    }
    

    提醒一下,在 Kotlin 版本中需要转换为 MavenArtifactRepository 才能获得 url 属性。如果您不添加 Maven 存储库,这对您来说可能会有所不同。

    【讨论】:

      【解决方案3】:

      尝试使用 Alberto's task from his answer 我收到以下错误,因为我定义了一个插件存储库:

      No such property: url for class: org.gradle.plugin.use.internal.PluginDependencyResolutionServices$PluginArtifactRepository
      

      为了避免这个错误,我稍微改变了任务逻辑:

      task listrepos {
          doLast {
              println "Repositories:"
              project.repositories.each {
                  if (it.name == '__plugin_repository__Gradle Central Plugin Repository') {
                      println "Name: " + it.name + "; url: " + it.url
                  } else {
                      println "Name: " + it.displayName
                  }
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-07
        • 2020-07-15
        • 2016-02-26
        • 1970-01-01
        • 2011-08-26
        • 2022-11-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多