Pau*_*her 4 archiva ivy dependency-management maven
我对Ivy,Maven和Archiva感到困惑 - 他们似乎都试图解决类似的问题.
我认为我认为Ivy将类似Maven的功能改装为Ant(即Ant + Ivy~ = Maven)是正确的吗?但我不清楚Archiva为Ant + Ivy和/或Maven添加了什么(如果有的话).我什么时候会使用(比方说)常春藤,何时使用Archiva?什么时候组合才有意义(如果有的话)?
背景:我们需要进行某种依赖管理并建立人工制品档案.我们的源代码是跨语言(混合了C++,Java,Scala,Ruby和Python),我们的构建过程是跨平台的(Linux,Windows,OSX,Android,iOS,QNX).我们有一个现有的基于scons的构建系统,它有点错综复杂.理想情况下,我们希望将依赖关系管理和人工制品存档添加到此,而不是(比如说)将批发移动到Maven.
最初Maven对Ant的一个重要优势是依赖管理的简易性,但你现在正确的是Ivy已经适应了这个差距,这意味着Ant + Ivy在构建和依赖方面为Maven提供了一些类似的功能.管理.
现在两者都提供了依赖关系管理,其中一个最大的区别因素是Mavens使用"Convention over configuration".有些人更喜欢Ant,因为它对于自定义任务/构建更灵活/更强大,因为有些人更喜欢maven,因为它更简洁,更简单.
它将取决于构建的复杂性,如果你有基本的Java构建,那么Maven可能更适合作为pom文件(Maven build filds)非常简单,但是如果你需要做很多自定义特定的东西你很可能最终要执行Ant脚本(同样,如果你已经有一个系统,那么交换不一定有很大的优势).
Archiva与Ant + Ivy/Maven不同--Archiva是一个Web应用程序,它提供了一个UI来轻松管理存储库中的所有JAR文件.通常,对于构建团队来说,它们可以很好地控制和监视项目中使用的所有JAR.您可以将Archiva与Maven一起使用来管理您的中央maven存储库.
另外值得注意的是,根据我的经验,Archiva有一些替代品,如Nexus和Artifactory,这可能是更合适的(archiva不是我在回购管理中的首选) - 看看这个关于nexus/artifactory之间差异的讨论应该我们使用Nexus或Artifactory进行Maven回购?
| 归档时间: |
|
| 查看次数: |
1576 次 |
| 最近记录: |