Using Eclipse with large workspaces

隐身守侯 提交于 2019-12-04 11:31:20

The policy we have adopted for this kind of configuration is one centered around the notion of deployment.

Any project is responsible for building and then versionning its set of files to be delivered (jar, war, ear, ...).

That means:

  • Any "integration team" in charge to test the all system can quickly update the all deliveries in one request to the VCS, without having to rebuild them all. Hence the "deployment" word: it is facilitated by this approach.

  • more importantly for your question, any project only need to query the deliveries it needs to compile in order to work and make code evolutions.

So for any given project, only one is actually opened in eclipse, and it refers to various libraries coming from other projects.

That also forced us to:

  • rethink our various dependencies between all the projects (detecting some case of cyclic dependencies to be removed),
  • recheck our applicative architecture, when we realized that several projects were too "small-grained" and needed to be aggregated together.

there are basically two approaches:

  • system-based, where every part of all the applications can be developed together, and where you have source dependencies on every projects you need
  • component-based, where your project has no source dependencies and depends only on libraries.

On an eclipse-plugin approach, a middle-ground need to be found:
All projects from a same domain (like "com.mycorp.fileutil[.XXX]") can be represented by eclipse projects with source dependencies between them. But any other component needed by "com.mycorp.fileutil" which is not part of that domain should be imported as a library, not as source dependency. Hence our "deployment-centric, release first" perspective.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!