SVWeb-JUG: Jason van Zyl on Maven - No Fluff Just Stuff

SVWeb-JUG: Jason van Zyl on Maven

Posted by: Andres Almiray on June 18, 2008

The Silicon Valley Web JUG had its monthly meeting yesterday night, with guest speaker Jason van Zyl from Sonatype. Here is what JUG members received on their mailboxes before the talk
Comprehensive Project Intelligence – Apache Maven, Nexus, and m2eclipse

Many view Apache Maven in the context of other build tools such as Apache Ant and Apache Ivy, yet Maven's functionalities extend far beyond the efficient, enterprise-class project build. When coupled with supporting tools like Nexus and m2eclipse, Maven starts to accelerate development by reducing the level of work required to support build management and cross-department collaboration.

In this talk, Jason van Zyl, founder of Sonatype and creator of Maven's Central Repository, will present a constellation of open-source software which can be used to extend Maven's capabilities, from next-generation Eclipse support provided by m2eclipse to the Nexus Repository manager and continuous integration servers which offer Maven support. Jason will also introduce some of the more unexpected uses of Maven to support development with Flex and to support the publishing industry.

Jason did not disappoint. He not only showed Nexus running and its integration within Eclipse, but also the m2eclipse plugin (maven integration); Idiom, a template consumer for site documentation (think a better maven-site-plugin to start with); and another project (I can't recall the name right now) that lets you build OSGi bundles in the command line, that is right, no need to mess up with a running IDE, how cool is that?

Personally I really like the new level of integration between Maven and Eclipse. I use them both most of the times in my projects, keeping project dependencies in sync is always a hassle, but m2eclipse gets rid of all the cruft. Jason mentioned that one of the goals of the project is configure a maven enabled project without having to actually look at the POM in its XML form. Can't wait to test it.

Nexus looks also very promising, it may work as a proxy for all your repos in your organization, users just have to point to the the Nexus server. It also has a cool feature called routing tables. Think for a moment of that useful open source project you app depends on. You found a bug but the project's team can't/won't react as fast as needed, so you go with patch it yourself and run with the same groupId and versionId as you do not want to update the poms. It works, but it may break other teams in your organizations. So what routing tables do is filter out specific artifacts from specific sites, you may configure Nexus to serve all org.apache.commons artifacts from the official Apache commons repo and nothing else, leaving any in-house patches out of the equation. Definitely worth exploring.

Thanks to Jason for a great talk, Mike and Kevin for organizing the event and Google for hosting.

On a related note I met again with Sven Haiges (@hansamann) and recorded an interview for the Grails podcast. Though we talked shortly about Grails, he made me realize there may be a Grails plugin based on Json-lib. Good times.

Oh and another thing, Aaron Houston kick started the meeting by announcing that Mike is a brand new Java Community Champion, congrats!
Andres Almiray

About Andres Almiray

Andres is a Java/Groovy developer and a Java Champion with more than 20 years of experience in software design and development. He has been involved in web and desktop application development since the early days of Java. Andres is a true believer in open source and has participated on popular projects like Groovy, Griffon, and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder, JideBuilder). Founding member of the Griffon framework and Hackergarten community event. https://ch.linkedin.com/in/aalmiray

Why Attend the NFJS Tour?

  • » Cutting-Edge Technologies
  • » Agile Practices
  • » Peer Exchange

Current Topics:

  • Languages on the JVM: Scala, Groovy, Clojure
  • Enterprise Java
  • Core Java, Java 8
  • Agility
  • Testing: Geb, Spock, Easyb
  • REST
  • NoSQL: MongoDB, Cassandra
  • Hadoop
  • Spring 4
  • Cloud
  • Automation Tools: Gradle, Git, Jenkins, Sonar
  • HTML5, CSS3, AngularJS, jQuery, Usability
  • Mobile Apps - iPhone and Android
  • More...
Learn More »