每一个项目从开始编码到交付都会产生一些通用的类、包以及配置文件等,加强对这些通用文件的管理可以使团队在以后的工作中效率得以提高。比如JSON格式转换的工具类,WebService的项目可能还会用到共同的实体类。一般情况下,我们是将这些类在各个工程中都持有一份,但在某些情况下,这些东西并不是稳定不变的,频繁变更可能会造成多个功能之间持有的类不统一,改善不能得以快速传播等弊端。
良好的开发习惯自然是抽取统一功能的类和包文件,这里以上面提到的JSON格式转换工具类以及实体类在多个工程之间共享为例作一个简单的阐述。
首先,新建一个working set以存放所有与目前项目有关的工程文件。
每个项目都会存在至少一个主工程,这个主工程可能调用了其他工程所提供的服务,如同WebService的客户端服务端之间的关系,也可能会存在这样一个情况,主工程直接调用子工程中的类,那么这种情况如何在eclipse中进行设定呢?
先看一下web工程是如何设定的
打开主工程的Properties设定,在Deployment Assembly中添加部署项,将所依赖的几个子工程添加为部署项,这样在eclipse在构建工程时就会自动的将子工程打包为jar文件,添加到lib目录下,并且在eclipse中这两个工程的源文件是相互关联的。
如果主工程并不是web工程那么该如何处理呢?
还是通过在主工程的Properties设定中,Java Build Path的Projects项中添加子工程。
通过上面的简单的设定,可以让子工程只需修改一次,依赖该工程的其他工程都可以得以快速反应,如同Java所倡导的,writeonce,run anyway!
注:以上设定方式可能在myeclipse中有所区别
不仅仅限定于java工程之间的依赖,在web工程中常常会存在一些通用的js文件,当对这些文件进行修改时,将修改应用到其他项目中可能就需要大量的复制粘贴,实在没有任何技术含量。细心的朋友可以发现,在web工程中Deployment Assembly设定里,只能添加java工程到部署路径中,javascript工程则不行。我们知道Eclipse的插件机制很强大,拓展性很好,安装JBossTools插件可以解决这个问题。
如上图,可以发现多出了一个fileset的选项,在此通过简单设定就可以将javascript工程引入到web工程部署路径中了,当然,具体部署到哪个路径完全可以由自己设定。
作者:萧易客
完成时间:2014/5/15
Eclipse多工程协同管理实践,布布扣,bubuko.com