The m2e plugin for eclipse:https://www.eclipse.org/m2e/ m2e offers very tight integration with eclipse for maven projects. But there can be problems with various maven plugins, like in this instance, for reasons - it's a slightly complicated issue to explain, and not really anything to do with vertx specifically so I won't try to go into it, just link to the explanations. A TL;DR is that you can currently put a "lifecycle mapping metadata" declaration in a certain part of the eclipse settings "
Maven->Lifecycle Mappings" as a workaround (or into the pom - but that uglifies the pom with eclipse-specific gibberish so I discourage it) to wallpaper over it. (There's also apparently now a mechanism for maven plugin authors to supply the metadata, so the issue can suddenly disappear for a given plugin). As another poster noted, you can mostly ignore it ...mostly... but if you'd rather not:
http://stackoverflow.com/questions/8706017/maven-dependency-plugin-goals-copy-dependencies-unpack-is-not-supported-bhttp://wiki.eclipse.org/M2E_plugin_execution_not_coveredhttp://wiki.eclipse.org/M2E_compatible_maven_plugins#Overview
The maven-eclipse-plugin for maven:http://maven.apache.org/plugins/maven-eclipse-plugin/But note also there are really two different approaches when working with maven+eclipse, one
with eclipse "in charge" (the m2e plugin for eclipse) and one with maven "in
charge" (the eclipse plugin for maven). It can get pretty confusing if you mix them up or try to mix the two.
The maven "in charge" approach i.e. maven-eclipse-plugin can be easier and more reliable (YMMV), even though at first glance it might sound like it should be rather more awkward. It doesn't try for such tight integration, just spits out and updates eclipse project definitions. Basically, with a maven project generated by the vertx maven archetype, say:
Firstly, it's best to tell the maven eclipse plugin the correct path to your eclipse workspace
(see the docs) and do a "
mvn eclipse:configure-workspace", once per workspace (note if you were using the m2e eclipse plugin, they both expect a M2_REPO eclipse classpath variable and that's basically what it's setting up, so it may already be there)
run "
mvn eclipse:eclipse" and "
File->Import->Existing projects into workspace" the generated eclipse project into eclipse.
Whenever you make a change to the pom itself, briefly "
Close Project" in eclipse (from the right-click menu on the project) (or whole workspace if you're feeling extra-paranoid), rerun "mvn eclipse:eclipse" and then re-"
Open Project" in eclipse.
Then, ignore the eclipse facilities to "run" the project, and have a shell window nearby and use a "
mvn vertx:runMod" or "
vertx runMod foo~bar~1.2.3" after a "
mvn vertx:init" (which is really making an appropriate module.link
file in the vertx mods/ dir). Or there are ways to make hitting the intra-eclipse run actually do it, see e.g.
Run->External Tools...Even if using the maven eclipse plugin approach, you can also leave the m2e eclipse plugin installed and use its intra-eclipse fancy pom editor - just
don't actually give the project an intra-eclipse maven nature (see the "
Configure" branch on the project's right-click menu), even so the pom editor still works fine.