- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Ivy、Maven 和 Archiva 感到困惑——他们似乎都在努力解决类似的问题。
我认为我认为 Ivy 将类似 Maven 的功能改造为 Ant(即 Ant + Ivy ~= Maven)是正确的?但我不清楚 Archiva 向 Ant + Ivy 和/或 Maven 添加了什么(如果有的话)。我什么时候使用(比如)Ivy,什么时候使用 Archiva,什么时候组合才有意义(如果有的话)?
背景:我们需要进行某种依赖管理并建立人工制品文件。我们的源代码是跨语言的(C++、Java、Scala、Ruby 和 Python 的混合),我们的构建过程是跨平台的(Linux、Windows、OSX、Android、iOS、QNX)。我们有一个现有的基于 scons 的构建系统,它有点复杂。理想情况下,我们希望为此添加依赖项管理和人工制品存档,而不是(例如)将批发转移到 Maven。
最佳答案
最初 Maven 相对于 Ant 的一大优势是易于依赖管理,但你是对的,Ivy 现在已经适应了这个差距,这意味着 Ant+Ivy 在构建和依赖方面提供了一些与 Maven 类似的功能管理。
既然两者都提供依赖管理,最大的区别因素之一是 Maven 使用“约定优于配置”。有些人更喜欢 Ant,因为它对于自定义任务/构建更灵活/更强大,而有些人更喜欢 maven,因为它更简洁、更简单。
这将取决于您的构建的复杂性,如果您有基本的 Java 构建,那么 Maven 可能更适合,因为 pom 文件(Maven 构建文件)非常简单,但是如果您需要做很多自定义特定的东西,您可能会很好最终需要执行 Ant 脚本(此外,如果您已经有了一个系统,那么交换不一定有巨大的优势)。
Archiva 与 Ant+Ivy/Maven 有所不同——Archiva 是一个 web 应用程序,它提供了一个 UI 来轻松管理存储库中的所有 JAR 文件。通常,它们可以让您的构建团队轻松控制和监视整个项目中使用的所有 JAR。您将与 Maven 一起使用 Archiva 来管理您的中央 Maven 存储库。
另外值得注意的是,根据我的经验,有一些 Archiva 的替代品,例如 Nexus 和 Artifactory,它们可能更适合(文件不会是我在 repo 管理中的首选) - 查看关于 nexus/artifactory Should we use Nexus or Artifactory for a Maven Repo? 之间差异的讨论
关于maven - Ivy、Maven 和 Archiva 之间有哪些异同和权衡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6072751/
我是 iOS 开发新手。我想弄清楚这些事情。 iPhone 和 iPad 中的一个项目。两者有什么相同之处(编码、图形或 UI)? 应用的设计模式相同还是不同? 等待答复谢谢:) 最佳答案 就我个人而
灵感来自 Learning Python from Ruby; Differences and Similarities . 我正好相反——我非常精通 Python,但我需要尽快开始学习 Ruby(稍
我非常了解鲁比。我相信我现在可能需要学习 Python。两者都知道的 friend ,请问两者有什么概念相似,有什么不同? 我正在寻找一个类似于我为 Learning Lua for JavaScri
根据我的阅读,OpenGL ES 2.0 似乎与 OpenGL 2.1 不同任何,这是我之前的假设。 我很想知道 OpenGL 3 是否与 OpenGL ES 2.0 相当。换句话说,考虑到我要为桌面
我是一名优秀的程序员,十分优秀!