我正在考虑将我管理的Maven项目切换到Apache-Ant/Ivy。我需要更多的控制构建过程,并且对Maven感到非常沮丧。请不要评论Maven是多么伟大。我的问题是关于常春藤。项目建设的蚂蚁/常春藤
我想设置一个“标准”的Ant构建模板,稍后可以用于其他项目,只需要很少的更改。
我将成立一个中央“企业”的储存库,我们可以把不属于公共Maven仓库(如商业库,太阳库,专利库等)可用的第三方库。该企业存储库将在我们的本地局域网上提供,但可能不在办公室之外。
每个开发人员将在~/.ivy/repository
有一个私人存储库。我希望Ant构建自动更新此私有存储库,并使用企业存储库中已更改的库版本。
在~/.ivy/ant
中,我计划使用Ant 1.8中的include
任务在单个项目build.xml
中包含“标准”模块。这些模块将提供之类的东西Scala
和Clojure
不同版本不同Scala和Clojure的版本(如:scala-compile-2.9.1.xml
,clojure-compile-1.3.xml
等)编译目标的构建模块将在企业仓库中,并应在专用仓库,如果自动更新他们改变。
每个项目都将遵循一个标准的Maven目录结构:${project}/src/main/java
,${project}/target/classes
等
在过去,我用常春藤但Ant构建文件,试图得到了非常大(> 500线为模板构建文件)并难以管理/编辑。我希望通过将标准目标放在~/.ivy/ant
目录中的自己的构建模块中,我可以避免代码膨胀。
可以这样做吗?我离开基地吗?我可以在常春藤找到的唯一文档是在Apache网站(http://ant.apache.org/ivy)。有没有其他文件可用,包括书籍?
我不认为,你需要库的私人存储库。 常春藤在〜/ .ivy2中管理自己的[cache](https://ant.apache.org/ivy/history/latest-milestone/concept.html#cache),它会在解决依赖关系时保持最新状态。 – oers 2011-12-20 14:26:13