Trying to develop a new Maven plugin, extension, or core feature can be extremely difficult without help. Anyone who has tried this knows it can be frustrating. One of our ongoing themes at Takari is to make overall Maven development experience easier and hopefully more enjoyable. We have created some tools to help!
Developing something for Maven on the CLI is really not very productive because Maven’s classloader, extension, and plugin mechanism is fairly sophisticated and trying to wire together all the right pieces is admittedly complicated. Extensions and plugins are resolved and loaded dynamically at runtime which is complicated enough, but writing tests for extensions, plugins, and core features can be even more difficult. We do, however, have some very powerful Eclipse tooling that helps.
Over the years we have built up a set of tooling that lets you do all types of Maven development as well as writing unit and integration tests for any feature. Whether you’re writing a plugin, extension or core feature with full tests you can do this all within Eclipse without having to install anything in your local Maven repository. Everything can be run from end-to-end within Eclipse with full debugging support even though many JARs are loaded dynamically. We are tentatively calling this suite of utilities Eclipse Tools for Maven Development.
In the Maven Developer Hangout on January 15th Igor Fedorenko, the M2Eclipse lead and Takari team member, gave a demo of the tools he’s been working on for several years. This demo really does give a comprehensive overview of what help can be provided by the tooling. You can watch Igor demo the Maven Development Tools here:
If you are interested in using our Eclipse Tools for Maven Development we have tried to encapsulate everything that’s needed in a single p2 site that you can use from within Eclipse:
Please feel free ask questions. We’re happy to answer them on the Maven Developers List or on IRC (irc.codehaus.org#maven-dev). We look forward to hearing from you!
To use Maven correctly you'll need to understand the fundamentals. This class is designed to deliver just that.