tags:

views:

102

answers:

4

I want to learn how to make best use development tools such as - Maven, SVN, and Eclipse. While I know how to use these tools separately, I'm interested in learning how best to use them in concert to make development more efficient and effective. A couple of example questions follow:

  • Once you've created a project using maven, what aspects of the "maven project" do you add to the repository?
  • Rather than using each of these tools separately, i.e. using maven to create project, using svn to add project, using eclipse to checkout project. Is there a way to combine those steps into a single step or plugin?

Basically, I'm looking for insight and feedback on HOW you've used the aforementioned tools in concert for efficient and effective development.

*Note: If you have experience with other versioning systems (CVS, GIT, etc.) and/or IDEs, please share your insight as well; feel free to substitute them in-place of the ones I've specified.

Thanks.

A: 

There are some books by the Pragmatic Programmers http://pragprog.com/titles on related topics, such as agile development, build automation and source control. None of them directly mentions Maven, though.

Carl Smotricz
A: 

Recent versions of the major Java IDE's (Eclipse, NetBeans, IDEA) all have good support for Maven and SVN. You're not really using seperate tools if you create a new Maven project using an Eclipse wizard, and importing it in a new SVN repository using the Eclipse Team controls. Maybe try these functions out and see if they're to your liking?

You typically don't add the complete "target" folder of a Maven project to your repository, the rest should definetely go in there (including the pom.xml)

Alexander Malfait
A: 

Use the plugins for eclipse :

You can commit/checkout/update create modules, download dependences, build etc from eclipse.

My personnal favourite when the two plugins are installed : "checkout as maven project" (for maven modules)

Maxime ARNSTAMM
+1  A: 

I use the m2eclipse plugin primarily for searching for maven dependencies and adding them to my project.

And I use the subclipse plugin for browsing projects in subversion. I also find the gui very helpful for merging and creating branches and tags.

Both these tools are great for "situational awareness" of the state of your maven pom.xml and/or your svn repo. But lately I'm finding that it's better if I strive to keep my builds independent of any specific IDE. For example, for me, it works better to use mvn from command line to build/test/debug/run my apps.

A few benefits of keeping build strategy separate from eclipse that I've noticed are:

  1. If working on a Team, each developer is free to work in his/her favorite IDE
  2. Keeping build separate provides more automated build. If you start using Eclipse to build your stuff, you end up having to do a lot of troubleshooting and setup inside Eclipse. If you keep the build separate, you can usually get it down to a single script to checkout and build your project
  3. Since builds are simpler and more automated outside of eclipse, the customer can easily do a build if needed and new developers are able to get up and running much faster
Dave Paroulek