Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

There are many vcs available. Which of them are typically used in JavaEE world?

share|improve this question
Any decent VCS would work with Java, I don't think the language has special requirements in this regard. – Mahmoud Hossam Jun 4 '11 at 8:12
@Mahmoud Hossam: It depends. For VCSs which store unstructured bytestreams that's true, but not for VCSs which store structured, strongly typed object graphs. They need to understand the syntax and semantics of the programs you are storing in them. The downside is that they only work with one language, the upside is that stuff like adding, removing or renaming variables, methods, functions, procedures, fields, objects, classes, modules, traits, packages, mixins, bundles or even large-scale refactorings become just yet another VCS operation, and are thus trivially mergeable or revertable. – Jörg W Mittag Jun 4 '11 at 10:43
@Jorg But they all work, I didn't say they would all be the same. – Mahmoud Hossam Jun 4 '11 at 10:50
Subversion, Git, Mercurial, any of those can work for you. – Marcelo Jun 4 '11 at 13:33
@Jorg are any of those that are commonly used in Java? I've never even heard of one that works that way. – Jeremy Jun 4 '11 at 14:54

There are so many doing Java EE development that - regardless of VCS - you will find some place using it if looking long enough.

These days you either have to conform to existing infrastructure, or you go with the VCS with the best support in your chosen IDE.

If you just want to get started using this, then consider using CVS which is simple, and is well-supported in almost all IDE's. You can then learn how it works, including how to diff an older version etc.

share|improve this answer
Don't forget, make sure your CI manager (you are doing continuous integration, aren't you?) supports it as well. – TMN Jun 4 '11 at 18:33
@TMN, a new learner might not have this in place. I believe that most CI's support CVS though. – user1249 Jun 4 '11 at 18:58
CVS is a bit moldy. Branching is slow and painful. SVN, Git, or Mercurial are far better choices these days. – kevin cline Jun 4 '11 at 19:41
@kevin, for an absolute beginner it is nice with things which work out of the box. – user1249 Jun 4 '11 at 19:57
There is no good reason why CVS integration should be in the box with Eclipse, but not Subversion. – kevin cline Jun 4 '11 at 23:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.