cmc*_*nty 3 repository ivy gradle maven
我一直在阅读Gradle及其存储库支持功能.文档表明它支持Ivy或Maven repos.这一点的含义对我来说并不完全清楚.
在Maven回购的情况下,我认为我的理解更完整.构建时,像Nexus或Artifactory这样的本地存储库将缓存MavenCentral所需的公共依赖项.对于发布,Gradle将为项目生成POM.xml,您可以将私有工件发布回本地存储库.我的理解是否正确?我希望控制正在使用的公共依赖项,同时纠正公共MavenCentral POM中的错误.
对于常春藤,我有点困惑.首先,共享的常春藤回购是什么样的?它只是通过SSH,SFTP,HTTP等托管的远程目录树吗?这是否适用于混合的Windows/Unix环境?Gradle如何将公共依赖项和构建的工件移动到共享的Ivy仓库中?Jenkins也可以执行这一步,怎么做?在定义新的公共依赖项并且需要将它们移动到共享的Ivy仓库时,是否需要额外的构建步骤,或者这是否无缝完成?
最后,假设两个模型的特征基本相同.什么是与Jenkins构建机器一起维护的解决方案?
您对Gradle中Maven支持的理解是正确的.您可以完全控制依赖项及其来源(Gradle没有任何硬编码的存储库,因此您可以使用Bintray而不是Maven Central,例如,更少的错误来纠正).
常春藤的依赖管理是相似的.常春藤拥有它自己的布局(在Artifactory中支持,但在Nexus中没有 看到'存储库支持')并且网络中有少量公共常春藤存储库(例如Ivy RoundUp).由于Ivy对Maven存储库很好,大多数常春藤用户只使用Maven Central和/或Bintray.
Ivy和Maven之间的主要区别不在于存储库格式,而是在元数据格式中.Ivy使用ivy.xml(虽然名称不是必须的)而不是pom.xml,而xml架构是不同的.Gradle支持这两种格式,可以从pom.xml和ivy.xml读取传递依赖关系,并可以为您的项目生成元数据,并以两种格式将其部署到存储库.
| 归档时间: |
|
| 查看次数: |
1065 次 |
| 最近记录: |