EclipseMagazine Interview with Jason van Zyl on the Maven Ecosystem
Recently, I was asked to do an interview for EclipseMagazine about the future of Maven and release of Maven 3.0. JAXenter published part one and two of the interview over two weeks. Below is the full interview, which covers everything from changes Maven 2 users can expect when migrating to Maven 3, Nexus repository manager, the Maven Shell, Polyglot Maven, and more.
With the switch from Maven 1.x to 2, developers had to manage some fundamental changes. What challenges can users expect when migrating from Maven 2 to Maven 3?
We are planning that, in most cases, Maven 3.0 will be a drop-in replacement for Maven 2.x. We have gone to great lengths to ensure backward compatibility while reimplementing a good portion of Maven’s internals. From the command-line perspective we are trying to be fully compatible. Maven 3.0 will not allow duplicate dependency or plugin declarations, so those problems would need to be fixed, but aside from that no changes to your POMs will be required. In all other regards we have created backward compatibility layers to protect users from the many internal API changes that we have made. I really hope that the Maven community can move forward to Maven 3.0 without grief, and use the new features as it is convenient for them.
Is there anything users should keep in mind when creating a new project, to be prepared for Maven 3?
It honestly shouldn’t be any different from Maven 2.0. That’s the intended goal. So much has changed under the covers that we didn’t want to change the POM format. The primary goal is a path forward for all Maven users, efficient embedding, increased performance, synchronizing the Maven 3.0 code base with m2eclipse, and adding extension points for tools like Tycho, Polyglot Maven, and the Maven Shell.
The Future of Maven
JAXenter talked to Sonatype’s Jason van Zyl about the future of Maven, and what users can expect when migrating from Maven 2 to Maven 3. In this interview, van Zyl and Sonatype’s Brian Fox outline Maven 3, it’s backward compatibility with Maven 2, the introduction of POM mixins, and repository management with Nexus.
The primary goal is a way forward for all Maven users, efficient embedding, increased performance, synchronizing the Maven 3.0 code base with m2eclipse, and adding extension points for tools like Tycho, Polyglot Maven, and the Maven Shell.
The Inside Scoop on Maven and JRuby Integration
Today Charles Nutter, core member of JRuby, discussed two projects that integrate JRuby and Maven, and the implications of this interoperability. The first is a prototype Maven server that will make any Java library installable as a gem.
Let me repeat that: ANY Java library in the world, installable as a gem. This means you can also use Maven artifacts as dependencies in regular Ruby gems, and it additionally means we won’t have to re-release jar files into their own duplicate gems on the standard repositories. It’s very exciting.
The second project is Polyglot Maven, which was started by Jason van Zyl and the folks at Sonatype.
That project intends to provide standard DSLs for popular JVM languages, allowing you to use those languages in place of the XML-based POM files so many people hate.
To read the entire interview with JRuby’s Charles Nutter, click here.