Oct 20th, 2011, 04:15 PM
STS 2.8.0 and m2e FAQ (updated for STS 2.8.1)
Update (Nov 23, 2011)
We have released STS 2.8.1 and upgrading/downgrading m2eclipse versions is now possible through the STS Discovery page. Also, STS 2.8.1 is compatible with either version of m2eclipse, so if you upgrade to the new version of m2eclipse and you are not happy with it, you can use the extensions page to downgrade again. You can also use the extensions page to do the upgrade. Performing the upgrade or downgrade will automatically uninstall the other version of m2eclipse before trying to install the selected version.
I have updated the answers below to reflect changes to 2.8.1. All of these changes are marked with 2.8.1.
Why have this FAQ?
Many users have been having troubles migrating to the new version 1.0 m2e support in STS 2.8.0. Version 1.0 of m2e is incompatible with previous versions and requires migrating old Eclipse projects to the new version. Although we have taken measures to ensure that the migration process was simple, too many users are still having troubles and many are moving back to an older (and unsupported) version of m2eclipse.
We tested the upgrade process on our Spring template projects, but we underestimated the breadth and complexity of the Maven projects in the STS user community and so it took us by surprise to see the problems users have been seeing.
I have a Maven project that is working perfectly on STS 2.7.2. What do I need to do to get this running on STS 2.8.0?
At a minimum, the move to m2e v1.0 requires updating the .classpath and .project files. However, this new version of m2e also requires more explicit management of how Maven plugins are executed during Eclipse builds. Each pom.xml must explicitly state if, when, and how its referenced maven plugins are executed in the IDE. If some plugins are not stated, then m2e looks for installed project configurators (a special kind of Eclipse plugin) that can handle the execution of the Maven plugin.
If m2e can't find anything that can manage the plugin's lifecycle, you get the dreaded: "Plugin execution not covered" error in your pom.xml. A complete description of this error can be found here:
2.8.1: you can use either version of m2eclipse, so a maven project that is working in STS 2.7.2 and using the old m2eclipse will work equally well in 2.8.1.
How do I upgrade from STS 2.7.x (or earlier) to 2.8.0? What should I do about Maven (m2e) support?
See this blog post for a complete description on how to upgrade your m2e support.
2.8.1: you do not need to make any changes to your m2eclipse when you upgrade.
I just installed STS 2.8.0 and now my Maven projects are all broken. How can I fix them?
First step is to ensure that you have migrated your legacy Maven projects. If you do not see any wizard popping up and asking you to migrate, you can invoke the migration by selecting a legacy Maven project, right-click -> Configure -> Convert legacy Maven projects…
Then, follow the steps below to fix any resulting errors.
2.8.1: You can also downgrade your m2eclipse from the STS dashboard extensions page. However, we do not provide any automatic migration tools. Hopefully, you have your project backed up in version control!
I successfully upgraded to STS 2.8.0 and m2e v1.0, but now I keep getting a warning about legacy maven projects. What does this mean?
This means that your existing Maven projects have old values in the .classpath and .project files. They point to the old m2e plugin. Clicking "Yes" to upgrade will change your project so that they use the new m2e.
The migration tool will not make any changes to your poms, but only to your .classpath and .project files.
I clicked "Yes" to upgrade my legacy maven projects, but now my projects still won't compile. What should I do?
It is likely that you have the "Plugin execution not covered" error. The complete description is here:
First, look in the catalog for existing configurators that may fix your problem. Go to Preferences -> Maven -> Discovery and click "Open Catalog". Search for an appropriate configurator. If one exists, then install it.
Also, the AspectJ configurator is not yet in the m2e catalog. It can be found at a separate update site. The AspectJ configurator is installed by default from the 2.8.0 zip file and from the extensions page, but you may not have it installed if you did a manual upgrade from STS 2.7.2. Here is the update site to use to install the AspectJ configurator:
I looked in the catalog for the extra m2e configurators, but I can't find a configurator for my plugin.
Then you have to provide a more manual approach:
1. Use the quickfix to "ignore" the execution of the plugin
2. Do this for all "Plugin execution not covered" problems
3. Perform a full build of your project
4. Does this work? Rejoice!
5. If not, then you will need to change "ignore" to "execute" for some of the plugins
Here is a summary of the official suggestions from the m2e team is this:
1. If there is no configurator available for a plugin, first set it to "ignore". This means that the plugin will be ignored in all Eclipse builds and this is sufficient for many maven plugins. Many plugins do not make changes to resources in the project during most normal workflows
2. When a plugin that is set to "ignore" needs to be executed, drop to the command line and execute the appropriate goals (eg- "mvn clean compile"). Once this is done, refresh your project in the workspace
3. If you find that you are dropping to the command line too often, then you can change "ignore" to "execute". The downside here is performance (i.e.: the plugin will be run on every build full or incremental) and safety (the plugin may corrupt some state in your Eclipse instance).
You can read all the gory details in the (exciting and long) thread on the m2e-users mailing list:
Can I revert to the older version of m2eclipse?
1. First uninstall the new m2e: Go to Help -> About STS -> Installation Details -> Installed Software. Uninstall all features that start with "m2e" or "Maven".
2. No need to restart
3. Next install the old m2eclipse. Use this update site for the main m2eclipse components: m2e releases repository - http://m2eclipse.sonatype.org/sites/m2e/
4. Restart and revert your Maven projects to their legacy state.
Some warnings, though. You will get basic support back for m2eclipse, but we have not done significant testing with this old version in STS 2.8.0 and some features may be broken or unavailable. If you do go this route, please let us know what your experience is (you can add a note to this FAQ on the forum).
2.8.1: Yes. Definitely. Reverting is now as simple as opening the STS dashboard extensions page, scrolling down to the m2eclipse entry, selecting it and clicking the install button. Performing the install will implicitly uninstall the other version of m2eclipse.
If you revert to an old version of m2eclipse, but you want to re-revert (un-revert?) to the new version of m2eclipse, you can do so from the dashboard as well.
Where can I get more help?
Here, at this forum. In particular, we are gathering feedback on how STS should proceed with m2e support in the future. Please add your comment to this forum thread: http://forum.springsource.org/showth...eedback-sought
2.8.1: We have done extensive testing of the m2eclipse install/uninstall support, but there may be still be problems. If so, please post to the forum and we will address your concerns as best as we can.
Last edited by Martin Lippert; Nov 23rd, 2011 at 04:28 AM.
Aug 28th, 2012, 02:05 PM
Perhaps it would be a good idea to provide a link to where you can curse the m2e team for the nightmare they're putting us through.
Aug 28th, 2012, 03:04 PM
Cursing the team would not be particularly productive. They have put significant effort into improving m2e. Version 1.1 is leaps ahead of 1.0, and 1.2 is shaping up to be an even bigger improvement.
That being said, the team does appreciate and is receptive to constructive feedback. The best place is on the m2e mailing list or on bugzilla. Links are here: http://eclipse.org/m2e/support/
Sep 6th, 2012, 05:30 AM
STS 2.9.2 :: No repository found at http://www.eclipse.org/m2e/content.xml
Originally Posted by Andrew Eisenberg
I am using STS 2.9.2, My project which i a using is integrated with Maven. When i build the project i am getting the below warnings and build failure.
[WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 is missing, no dependency information available
[WARNING] The POM for org.apache.maven.plugins:maven-war-plugin:jar:2.1.1 is missing, no dependency information available
[WARNING] The POM for org.apache.maven.plugins:maven-dependency-plugin:jar:2.1 is missing, no dependency information available
When I try to verify the m2e plugin installed under Help -> InstallSoftwares I am getting the below errors message
I configured proxy entries properly. but getting below message.
[B]Some sites could not be found. See the error log for more detail.
No repository found at http://www.eclipse.org/m2e/content.xml.================================================== ===================================[/B]
Sep 6th, 2012, 11:37 AM
Make sure that your proxies are set both inside of Eclipse (for software installation) and outside (for maven). Inside of Eclipse, you can set them at Preferences -> General -> Network connections.
Also, the maven error messages that you are getting indicate a corrupt local repository. Delete everything at ~/.m2/repository and try again.