Archive for the ‘maven’ Category
This is meant to be my introduction to the Eclipse blogging community. It is something that I have delayed too much already, but (finally) I got around to writing it.
My name is Abel Muiño (but just write Muino if you have a non-spanish keyboard), and I am the project lead for Eclipse IAM, which stands for Integration for Apache Maven.
I’m thrilled by joining this community of exceptional developers, and looking forward to meet some of you at Eclipse Summit Europe in a few days (by the way, be sure to attend the “IAM New & Noteworthy” talk… I’ve heard the speaker is extremely handsome).
The Eclipse IAM/q4e team has released a new version.
I would talk about the new features, but there is an extremely nice New and Noteworthy page on the wiki which has saved me some work.
I would point out only a few features that I really like:
- Autocompletion for dependencies in pom.xml. This is nicely done by installing the WTP XML editor if your eclipse doesn’t have it. Suggestions come from the new artifact search framework.
- Using maven mojos in the workspace for your builds. This new feature will be really useful for maven plug-in developers… we want your feedback!
- An upgraded embedder which allows the use of Maven 2.0.9 features (and plug-ins using those feaures).
Hope you enjoy using q4e as much as we enjoyed making this release!
Q for Eclipse, or q4e for short, is an open-source and open-development eclipse plug-in for bridging the gap between Eclipse and Maven. It is available from its google code home.
Since we believe that every eclipse user should be able to enjoy the benefits of using maven, we’ve proposed IAM (Integration for Apache Maven) as a new Eclipse project. Of course we offered q4e as an initial code contribution for the project. The proposal is discussed on its eclipse newsgroup (you’ll need to get a password from eclipse).
We’ve been working towards becoming a good candidate for an Eclipse project. The number of committers and the overall project activity has been growing, we’ve provided WTP integration, allowed sophisticated dependency analiysis… and much more.
Now, we’re gearing towards the final step for donating q4e source to the IAM proposal… getting IAM into the eclipse incubator.
For this, we needed two eclipse mentors.
Well, we’ve got three 🙂
- Ed Merks, IBM: Eclipse EMF
- Thomas Watson, IBM, Equinox
- Brett Porter, Exist Global: Maven PMC, Apache member,…
Being an official Eclipse project can only bring good things to q4e. Since we will have more eyes on the project, more enhancements will be requested and more hands will join in.
If you use q4e, feel free to write some quotes on the IAM group. We always like to know who’s using q4e and where!
Exciting times are ahead!
Developing web applications with maven and q4e is really, really easy… try this:
- Update your q4e version from the development update site
- Create a New project
- Select the Maven 2 project creation wizard
- Give it a name… like webtest
- Select a web archetype… let’s say wicket-archetype-quickstart (the last in the wizard’s list)
- Finish and wait while the dependencies are downloaded
- Right click on the project, Run as… > Run on Server and select a Tomcat server.
But, wait… this is the same process used for creating any q4e project, right?
Don’t you love when things are so simple?
And you can do hot deployment, edit your classes, save and see changes… edit resources… everything is updated in a few seconds.
This is bleeding edge, so we’re really interesting in receiving your feedback. Drop us a line on the q4e groups.
Support for WTP is only an example of what’s possible with q4e, a proof of concept of its extensibility. If you’re interested in developing support for your plug-in, let us know on the developers list. We can help!
A while back I talked about how maven dependency on artifacts published in the repository was an annoyance to IDE users. If you haven’t read it, it can be summarized as if you only edit the code and compile, your maven builds will pick up the wrong dependencies because it will build against your local repository versions, not against the compiled classes.
mvn installbefore you work in a different module.