2010-01-12 51 views
5

我们使用Gradle构建Java项目,目前我们有常青藤存储库来存储第三方构件,并且将我们自己的构件发布到(repo使用Gant脚本和常青藤ANT任务构建)中。但回购管理是基本的。
Gradle也可以使用Maven回购协议,因此切换到像Archiva或Nexus这样的Maven工件管理器是一种选择,但也许是不必要的。你知道哪些工具或最佳实践可以帮助我们构建和维护常春藤回购?常春藤仓库的最佳实践或工具?

只是要清楚:我们已经阅读了教程和更多内容,并了解如何去做,但它仍然是基本的维护。

+0

问题不是很清楚,IMO。 – 2010-01-12 18:56:56

+0

的确,我已经改变了问题标题 – 2010-01-12 19:04:19

回答

6

在过去,我只使用常青藤资源库来发布使用简单的低级别协议(如FTP站点)的小型专用存储库发布工件。 (所有网站需要的是一个版本的目录布局和的ivy.xml文件描述arifacts)

基于仓库基础设施Maven是现在如此普遍,与一些许多项目使用它,它几乎毫无意义,以促进替代资料库管理标准。 Sonatype(公司背后的Maven)使他们的存储库产品Nexus可供所有人使用,因为每个人都有兴趣将Maven中央的带宽要求控制在可控状态。

谢天谢地,常春藤与Maven相得益彰,意味着您可以充分利用两全其美的优势。

0

在我看来,在Ivy的仓库中没有太多的工作,因为它只是工作。你可以不用Ivy的Ant任务,你可以直接从文件系统完成,就这么简单。

不可否认,像改变人造物名称这样的东西可能很难,但是再一次,这是你不应该做的事情。

+1

你如何处理大多数图书馆不提供ivy.xml描述符的事实?写下你自己,从maven转换出来并剥离下来,...我有种感觉,我正在浪费时间来维护工件,而我不应该这样做 – 2010-01-12 23:12:33

+0

我们通常会将Maven *(如果有的话)转换为基础*,看看它是否足够好并根据需要调整。通常Maven基础具有额外的依赖关系,需要仔细查看,但正如所生成的基础构件目前运行得很好。 – Esko 2010-01-13 14:35:59

1

我已创建约my Ivy repository layout and choices的博客条目。你可能有不同的要求,但我认为总是很好的检查其他的解决方案,以获得一些想法...

1

有一个名为Ivy Roundup的社区项目,旨在建立一个共同的,最新的共同常春藤回购共同第三方库。匹配那里使用的命名规则可能是一个好主意,甚至更好,只需使用<ivy:install> task即可从那里获取模块。

0

当我需要第三方库时,我通常在做的是在MVN repository中搜索它,然后单击“常春藤”选项卡以获得ivy.xml的常春藤依赖项。