This has its advantages; most important is that Emacs will no longer hang for several seconds the first time you open a Java file in a project. The work to make this happen also makes it easier for me to add more Maven operations.
The first additional Maven operation is already in place:
M-x pom-resolve-source-artifactswill ask Maven to download any source attachments it can find in your remote repositories;
pom-set-jde-variableswill then add those source artifacts to
jde-sourcepath(if you pass it
:include-dependency-sources t). It sure is nice to do
C-c C-v C-yon a class name or variable and have the source for that class pop up...
There is a downside to this asynchronous goodness, though: You must wait for the message "POM parsing done." to appear in your minibuffer before doing anything that relies on the project variables being set. This particularly applies to compiling (as well as anything else that uses bsh).
I have tried various ways to make JDEE wait for Maven, but haven't figured out a working solution yet. Stay tuned, though!