Search code examples
javaworkspace

Setting up a personal (Java) workspace: What do I need?


I want to set up a personal workspace on my home machine. I mainly intend to use it for Java development on home projects. Which tools do you recommend me to use? (I prefer free tools, since this is just for home use.)

I hope you could recommend some tools for me, and I'd be grateful if you could give me a brief comparison of some tools in each category. For example, I'm thinking about source control and issue tracking tools, but any other categories are welcome.

I also hope to get some information about the ability to move between suggested tools (e.g. migrate between CVS and SVN), and even between operating systems if applicable. (I'm currently using Windows Vista, but I may want to switch to Linux sometime soon.) Maybe even information about how easy it would be to move the project to an open-source repository (e.g. SF.net).

Thank you.

(P.S. Any comments on how to enhance/clarify my question are more than welcome.)


Solution

  • The question is too generic, but let me attempt to give it a try:

    Netbeans or Eclipse IDE. If you do GUI development, I suggest Netbeans, otherwise go for eclipse.

    Git or Mercurial as a VCS. If you're dealing with a large code base or if you dig the UNIX philosophy go for Git. If you don't want to handle cross-OS differences, go for Hg.

    Any of these IDE gives you integration with the source control system, so you're just a google search away from it.

    As for opensource, if you use Git, just push to github. If you use Hg, push it to bitbucket and you're done.

    For issue tracking I suggest you hosted Redmine (RoR app) that integrates with CVS, SVN, Git, Mercurial and a few others.

    If you choose Eclipse, you can integrate it with Mylyn.