浏览 1296 次
锁定老帖子 主题:多工程并行开发的项目,避免编译失败
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-04-07
今天编译的时候发生了一次编译不通过。检查了一下,原来是在工程A中有一个接口增加了一个异常声明,结果工程B中某个调用该接口的类,就编译失败了 这里不吐槽java checked exception的问题,重点总结一下怎么避免编译失败的事情 1、要把相关的(依赖和被依赖)工程和lib库都下载到本地,同时保证本地编译不通过的代码,绝对不能往svn上提交 这个原则看起来非常基本,但是对于这次几十个工程的项目,就未必是这么回事了 因为往往开发人员只关注自己需要修改的那么几个工程。比如假设我平时只会用到工程A和B,但是工程A是依赖工程C的,同时工程D又依赖工程A 那我如果只把工程A和B都下载到本地,那我本地的工程A就很有可能是红叉,因为依赖的工程C在本地是没有的,或者是过期的 同时如果工程A中的代码修改了,由于我的本地是没有工程D的,所以我根本就看不到工程D的红叉(也就是本次的情况) 所以首先要把工程依赖和被依赖的工程都下载下来,这样的话,只要在本地ide中编译通过了再提交,基本可以保证svn上也能编译通过 当然这样就有一种可能,就是工程不断地相互依赖,最终把整个项目的所有工程都下载下来了,造成本地工程臃肿,而且每次本地编译就太久了。那么这个问题就涉及到项目初期工程规划的架构,不在本文的范畴 2、在提交之前要先更新周边代码,以免本地编译通过,但是svn编译失败 3、每次提交代码要完整,不能部分提交,否则也会造成本地编译通过,但是svn编译失败 关于2和3,在另一篇博客里有详细的说明: http://kyfxbl.iteye.com/blog/1447060 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |