当前位置: 首页 > 知识库问答 >
问题:

如何在Gradle生成的POM中声明存储库

钮善
2023-03-14

我将工件A发布到GitHub上的一个自我维护的maven仓库中。该项目有几个可传递的依赖项B、C、D,它们位于不同的存储库中。依赖项B、C、D是在A的gradle生成的pom.xml (uploadArchives)中指定的,而不是到存储库的路径。因此,当A在另一个项目中被指定为依赖项时,传递性依赖项B、C、D不会被下载。

可以告诉gradle在pom中包含B、C、D的maven存储库的url吗。A的xml?

共有1个答案

万俟嘉珍
2023-03-14

方法是定制生成的POM。下面是一个示例,假设< code>maven插件用于发布:

uploadArchives {
    repositories {
        mavenDeployer {
            // add further information to the generated POM
            // syntax maps 1:1 to POM syntax
            pom.project {
                // could also generate this programmatically
                // based on the repos declared in the build
                repositories {
                    repository {
                        id 'myrepo'
                        url 'http//my.repo.com'
                    }
                }
            }
        }
    }
}

新的孵化maven-publish插件提供了一个类似的钩子。

请注意,在解析依赖项时,Gradle 本身并不遵循 POM 中声明的存储库,而只遵循构建版本声明的存储库。另请查看 http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/。

 类似资料:
  • 用于声明Pod中容器使用的存储卷大小。 存储声明(PVC)用于声明pod中容器对存储卷的要求。创建存储声明时不会根据声明要求创建存储,当用户在创建deployment、Statefulset、Job、Cronjob时可以为容器的数据卷选择存储声明,云管平台才会在节点的本地存储上创建符合pvc的存储。 存储声明的详细介绍内容,请参考kubernets官方文档-PersistentVolumeClai

  • 我正在使用“maven”插件将Gradle构建创建的工件上传到Maven中央存储库。我正在使用类似于以下任务的任务: 然而,此任务创建的POM文件不能正确报告在我的Gradle构建文件中被排除的依赖项。例如: 如何在生成的POM文件中正确管理排除的依赖项?

  • 我有使用Swagger V1.2的服务的Swagger API声明。 我对Swagger最初的感觉是,它非常接近JSON模式(草案3和最近的草案4),为请求和响应对象生成JSON模式相对容易。 问:有没有任何现有的项目或代码可以从Swagger API声明生成可用的JSON模式? 最好是JSON Schema Draft 4和使用Python(但我很乐意找到任何东西)。

  • PD:如何解决从Windows Azure Blob存储服务返回的InvalidMd5错误?为.NET解决它: 但不知道traslate怎么去Delphi..

  • 问题内容: 我已经开发了一个Spring Data仓库,扩展了接口有一个方法: 结果由Spring缓存抽象(由)支持缓存。 我的问题是,我想要写一个集成测试(针对HSQLDB)断言结果被从数据库第一次检索,并从缓存中的第二次。 我最初想到模拟jpa基础结构(实体管理器等),并以某种方式断言第二次不调用实体管理器,但似乎太难/麻烦了)。 然后有人可以提供有关如何测试带有注释的Spring Data

  • 我最初想嘲弄一下jpa基础结构(实体管理器等),并以某种方式断言实体管理器不是第二次调用的,但它似乎太难/太累赘了(参见https://stackoverflow.com/A/23442457/536299)。 那么,有人能提供建议,如何测试用注释的Spring数据存储库方法的缓存行为吗?