Sonatype has spent the last few years investing in the Maven ecosystem. We’ve created solid documentation, we’ve invested heavily in making sure that m2eclipse provides solid IDE integration, and we’re about to unleash even more tools that will make it even easier for developers to develop and share software. Here’s an excerpt from Dave Johnson’s entry on converting the Roller project’s build to Maven:
I was a Maven hater and resisted it for a long time but over the years Maven has gotten much better, it’s well supported in IDEs and as far as I can tell, Maven has replaced Ant as the de facto build system for Java projects. If you want new developers be able to easily build, debug and run your code via command or their favorite IDE then Maven is the way to go, and that’s especially true for open source projects like Roller. That’s why I spent a couple of weekends learning Maven and converting Roller’s build process from Ant to Maven (ROL-1849). The process of conversion wasn’t too difficult.
Many of you are developing with light-weight servlet containers such as Jetty or Tomcat. While these platforms lend themselves to rapid application development, they often force you to forgo some of the benefits of running in a larger application server. One of the most challenging tasks is finding a way to integrate a transaction manager into a simpler servlet-container without adding too much complexity to your configuration. In this post, Stephen Connolly demonstrates how configure the maven-jetty-plugin to start Jetty with OpenEJB.
We found this great blog post about the top 10 myths surrounding Maven. The article offers in depth analysis of these Maven myths, a thorough debunking of each one, and constructive ways to take action if you still disagree. To read the full article, click here.
Maven has been a real joy for me. It could be the simple fact that I can move from colleague to colleague’s project without wondering what ant tasks are available or where the files are. It could be the fact I don’t have to configure IDE’s anymore, not even for downloading sources. It could be some of my favorite plug-ins. Maybe it’s the 250,739 artifacts that are available in three lines of copy paste declaration. There’s a lot to love.
This video demonstrates how easy it is to add dependencies using m2eclipse. Because m2eclipse understands how to interact with a repository index, it can quickly locate a dependency by class name or by GAV coordinate. Don’t know which artifact contains a particular class? Just start writing code and use an Eclipse Quick Fix to search all Maven repositories for an artifact that contains a particular class. Want to inspect and browse a Maven repository? Don’t use a web browser. Use the built-in dependency search feature in m2eclipse.
Nexus gives you control over the repositories your builds interact with. It can also provide you with an easier way to publish, distribute, and manage the software applications you create. You can get started by downloading Nexus Professional and reading the free Nexus book.