<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->  
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->  
<!--[if !IE]><!-->
<html lang="en"> <!--<![endif]-->
  <head>
    <title>M2Eclipse | 1.5 Release Notes</title>
    <!-- Meta -->
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="M2Eclipse provides tight integration for Apache Maven into the Eclipse IDE." />
    <meta name="author" content="eclipse.org" />
    <meta property="twitter:account_id" content="15710507" />      
    <!-- CSS Global Compulsory-->
    <link rel="stylesheet" href="/m2e/assets/plugins/bootstrap/css/bootstrap.css" />
    <link rel="stylesheet" href="/m2e/assets/css/style.css" />
    <link rel="stylesheet" href="/m2e/assets/css/m2eclipse.css" />
    <link rel="shortcut icon" href="/m2e/assets/img/favicon.ico" />        
    <!-- CSS Implementing Plugins -->
    <link rel="stylesheet" href="/m2e/assets/plugins/font-awesome/css/font-awesome.css" />    
    <!-- GA -->
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
      ga('create', 'UA-56202333-1', 'eclipse.org');
      ga('send', 'pageview');

    </script>
  </head>

  <body>
    <div class="wrap">
      
            <div class="header">
        <div class="navbar navbar-default navbar-fixed-top" role="navigation">
          <div class="navbar-inner">
          <div class="container">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              <a class="navbar-brand" href="/m2e/index.html"> 
                <img id="logo-header" src="/m2e/assets/img/m2e_logo.png" alt="M2Eclipse" width="150" height="61" />
              </a>
            </div>

            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse navbar-responsive-collapse">
              <ul class="nav navbar-nav navbar-left">
              
                  
                  
                  <li class="">
                      <a href="/m2e/m2e-news.html">News</a>
                  </li>
                
                  
                  
                  <li class="">
                      <a href="/m2e/m2e-downloads.html">Download</a>
                  </li>
                
                  
                  
                  <li class="">
                      <a href="/m2e/documentation/m2e-documentation.html">Documentation</a>
                  </li>
                
                  
                  
                  <li class="">
                      <a href="/m2e/m2e-community.html">Community</a>
                  </li>
                
              </ul>
            </div>
          </div>
          </div>
        </div>
      </div><!-- END header -->
      
      <div class="margin-bottom-20"></div>
        <div class="container">
          <div class="margin-bottom-100"></div>

          <div class="row">
  <div class="col-md-3">
    <div class="docNavigation affix">
    <div class="margin-bottom-30"></div>
    <h4 class="headline">Users</h2>
    <ul class="unstyled">
      <li><a href="/m2e/documentation/m2e-faq.html">FAQ</a></li>
      <li><a href="/m2e/documentation/m2e-execution-not-covered.html">Execution Not Covered</a></li>
    </ul>
    <h4 class="headline">Developers</h2>
    <ul class="unstyled">
      <li><a href="https://github.com/eclipse-m2e/m2e-core/blob/master/CONTRIBUTING.md">Development Environment Setup</a></li>
    </ul>
    <h4 class="headline">Extension Developers</h2>
    <ul class="unstyled">
      <li><a href="/m2e/documentation/m2e-extension-development.html">Getting Started</a></li>
      <li><a href="/m2e/documentation/m2e-making-maven-plugins-compat.html">Making Maven Plugins Compatible</a></li>
    </ul>
    <h4 class="headline">Release Notes</h2>
    <ul class="unstyled">
      <li><a href="/m2e/documentation/release-notes-116.html">M2Eclipse 1.16</a></li>
      <li><a href="/m2e/documentation/release-notes-19.html">M2Eclipse 1.9</a></li>
      <li><a href="/m2e/documentation/release-notes-18.html">M2Eclipse 1.8</a></li>
      <li><a href="/m2e/documentation/release-notes-17.html">M2Eclipse 1.7</a></li>
      <li><a href="/m2e/documentation/release-notes-16.html">M2Eclipse 1.6</a></li>
      <li><a href="/m2e/documentation/release-notes-15.html">M2Eclipse 1.5</a></li>
    </ul>
    </div>
  </div>
  <div class="col-md-9 docs">
  <p><a href="https://www.eclipse.org/m2e">M2Eclipse</a>, released version 1.5.0 a few weeks ago, as part of the annual Eclipse release train, this year known as Luna. <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Technology&columnlist=target_milestone%2Ccomponent%2Cassigned_to%2Cresolution%2Cshort_desc%2Cchangeddate&known_name=m2e%201.5&list_id=9536440&product=m2e&query_based_on=m2e%201.5&query_format=advanced&resolution=---&resolution=FIXED&resolution=INVALID&resolution=WONTFIX&resolution=DUPLICATE&resolution=WORKSFORME&resolution=MOVED&resolution=NOT_ECLIPSE&target_milestone=1.5.0%2FLuna%20M1&target_milestone=1.5.0%2FLuna%20M2&target_milestone=1.5.0%2FLuna%20M3&target_milestone=1.5.0%2FLuna%20M4&target_milestone=1.5.0%2FLuna%20M5&target_milestone=1.5.0%2FLuna%20M6&target_milestone=1.5.0%2FLuna%20M7&target_milestone=1.5.0%2FLuna%20RC2">77 Bugs</a> were fixed as part of that release, compatible with both Eclipse Kepler and Luna. I believe it’s a pretty solid one, with numerous interesting fixes and usability improvements that deserve a blog post. So here goes, in no particular order:</p><h1><a href="#improved-project-import-workflow" name="improved-project-import-workflow">Improved project import workflow</a></h1><p>Selecting Maven projects to import used to take an inordinate amount of time, due to a suboptimal - I love that word :-) - Maven Lifecycle Mapping Analysis (LMA). LMA is used to determine whether the projects would require further configuration to operate properly in Eclipse. That LMA is now only run after projects are imported, making selection of projects to import much, <strong>much</strong> faster (&lt; couple seconds vs 1-2 min for the wildfly 8.0 codebase and its 130 projects, for instance)</p><p>After import, lifecycle mapping error markers are collected on imported projects and the discovery service is invoked to find proposals to fix those errors.</p><p>Another improvement to this workflow is the ability to easily import multi-module projects to an Eclipse Working Set. The default name is inferred from the root project but can be overridden manually:</p><p><img src="images/m2e-workingset-import.png" alt="X""/></p><p>More <a href="http://bugs.eclipse.org/436679">performance</a> <a href="http://bugs.eclipse.org/436668">improvements</a> during import itself are to be expected to be included in M2Eclipse 1.6.0.</p><p>See bugs <a href="https://bugs.eclipse.org/409732">409732</a>, <a href="https://bugs.eclipse.org/408042">408042</a> and <a href="https://bugs.eclipse.org/417466">417466</a>.</p><h1><a href="#improved-memory-consumption" name="improved-memory-consumption">Improved memory consumption</a></h1><p>Maven project instance caching strategy has been revisited to reduce memory consumption. For a workspace with 300+ projects for instance, heap memory used went from 2.5GB down to well under 1GB without any noticeable side effects.</p><p>See <a href="https://dev.eclipse.org/mhonarc/lists/m2e-dev/msg01389.html">Igor’s announcement</a> and bug <a href="https://bugs.eclipse.org/410954">410954</a>.</p><h1><a href="#nexus-index-download-disabled-by-default" name="nexus-index-download-disabled-by-default">Nexus index download disabled by default</a></h1><p>Before M2Eclipse 1.5, by default, Nexus indexes were downloaded on new workspace startup, then subsequently once a week. Depending on your internet connection, that whole process could take 15 minutes or more, heavily pegging the CPU. Once the indexes were updated, the size of the workspace would increase by approximately 500 MB. Even though space is relatively cheap these days, those with many workspaces (eg., for testing) or large workspaces, this extra disk usage can add up quickly.</p><p>M2Eclipse 1.5.0 now has this feature disabled by default. You can still enable it in menu:Preferences[Maven &gt; Download repository index updates on startup]. One major downside of having this feature disabled by default though, is Archetype and Artifact/Plugin searches are now much less efficient, as they rely on this indexed content.</p><p>See bug <a href="https://bugs.eclipse.org/404417">404417</a></p><h1><a href="#new-maven-profile-management-ui" name="new-maven-profile-management-ui">New Maven Profile management UI</a></h1><p>The JBoss Tools team contributed its <a href="https://marketplace.eclipse.org/content/maven-profiles-management">Maven Profile management interface</a> to M2Eclipse 1.5.0. This new interface eases switching between profiles.</p><p>Rather than right-clicking on a project, going to the menu:Properties<a href="http://maven.apache.org">Maven</a> page, then manually (mis)typing a list of active or disabled profiles, you can now just use kbd:[Ctrl+Alt+P] to open the new Maven Profile selection interface.</p><p><img src="images/m2e-profile-selection.png" alt="X""/></p><p>The new interface is also accessible from the Maven context menu: Right-click project menu:Maven[Select Maven Profiles…]</p><p>The list of available profiles is inferred from profiles defined in:</p>
<ul>
  <li>the project pom.xml</li>
  <li>the project’s parent hierarchy</li>
  <li>user and global maven settings.xml</li>
</ul><p>When several projects are selected, only the common available profiles are displayed for selection. Common profiles are profiles defined in settings.xml or profiles having the same id in different pom.xml.</p><p>You can learn more about that feature from the original <a href="http://docs.jboss.org/tools/whatsnew/maven/maven-news-3.3.0.M3.html#itemname1">JBoss Tools blog</a></p><p>See bug <a href="https://bugs.eclipse.org/428094">428094</a></p><h1><a href="#easily-update-outdated-projects" name="easily-update-outdated-projects">Easily update outdated projects</a></h1><p>The Update Maven Project dialog (launched via Right-click project menu:Maven[Update Project…] or via kbd:[Alt-F5]), now shows a <em>dirty</em> overlay on projects which need updating.</p><p>Additionally, an &ldquo;Add out-of-date&rdquo; button adds all out-of-date (OOD) projects to the current selection. If an OOD project has not been selected, a warning is shown underneath the selection table with a link equivalent to &ldquo;Add out-of-date&rdquo;. Warning text and &ldquo;Add out-of-date&rdquo; button tooltip show a count of unselected OOD projects.</p><p><img src="images/m2e-select-ood-projects.png" alt="X""/></p><p>See it in action: <a href="http://screencast.com/t/27S0qeca">http://screencast.com/t/27S0qeca</a></p><p>See bug <a href="https://bugs.eclipse.org/422667">422667</a></p><h1>No more <code>Unsupported IClasspathEntry kind=4</code></h1><p>There’s a very popular <a href="http://stackoverflow.com/questions/10564684/how-to-fix-error-updating-maven-project-unsupported-iclasspathentry-kind-4">question on StackOverflow</a> about an M2Eclipse bug that plagued many users of the maven-eclipse-plugin: M2Eclipse would throw <code>Unsupported IClasspathEntry kind=4</code> exceptions on classpath entries generated by the maven-eclipse-plugin (one of the reasons why you should never mix maven-eclipse-plugin and M2Eclipse).</p><p>M2Eclipse 1.5.0 no longer complains about these unsupported classpath entries, but unexpected classpath issues may still arise, should you mix duplicate jars from M2Eclipse and those added by the maven-dependency-plugin.</p><p>See bug <a href="https://bugs.eclipse.org/394042">https://bugs.eclipse.org/394042</a></p><h1><a href="#new-checksum-settings" name="new-checksum-settings">New checksum settings</a></h1><p>Ever connected to a network with limited Internet access or simply stayed at a hotel where you needed to get past a for-pay-firewall, resulting in HTML pages being downloaded instead of jars? There’s nothing better to pollute your local Maven repository. Maven CLI builds can use these flags:</p>
<ul>
  <li><p><code>-C</code> - fail build if checksums do not match</p></li>
  <li><p><code>-c</code> - warn if checksums do not match</p></li>
</ul><p>M2Eclipse now has a global Checksum Policy available in menu:Preferences<a href="http://maven.apache.org">Maven</a>, that will help you keep your sanity, and your local repository clean:</p><p><img src="images/m2e-checksum-policy-flag.png" alt="X""/></p><p>While M2Eclipse actually won’t create any Warning markers on projects when &ldquo;Warn&rdquo; is selected, it will override existing checksum policies set on repositories.</p><p>See bug <a href="https://bugs.eclipse.org/418674">https://bugs.eclipse.org/418674</a></p><h1><a href="#improved-settings-for-errors-warnings-preferences" name="improved-settings-for-errors-warnings-preferences">Improved settings for Errors/Warnings preferences</a></h1><p>M2Eclipse has been known for generating specific errors that have puzzled more than one user in the past:</p>
<ul>
  <li><p><code>Project Configuration is not up-to-date</code> - a change in pom.xml <strong>might</strong> require a full project configuration update.</p></li>
  <li><p><code>Plugin execution not covered by lifecycle</code> - M2Eclipse doe not know if it is safe to execute a maven plugin as part of the Eclipse build</p></li>
</ul><p>With the new menu:Preferences[Errors/Warnings] page, users can now decide according to their own needs whether these errors should be downgraded to <code>Warning</code>, or even be ignored entirely.</p><p><img src="images/m2e-warnerrors-prefs.png" alt="X""/></p><p>See bugs <a href="https://bugs.eclipse.org/433776">433776</a>, <a href="https://bugs.eclipse.org/434053">434053</a></p><h1><a href="#maven-runtime-changes" name="maven-runtime-changes">Maven runtime changes</a></h1><p>A few changes have been made with regards to the Maven runtime(s):</p>
<ul>
  <li><p>The embedded Maven runtime has been updated to maven 3.2.1.</p></li>
  <li><p>The Netty/AsynHttpClient transport layer as been replaced with OkHttp 1.5.4. OkHttp is now the default HTTP client on the Android platform. It brings HTTP 2.0 and SPDY support to artifact downloads. Please note though, NTLM authentication is <a href="https://github.com/square/okhttp/issues/206">not supported</a>.</p></li>
  <li><p>Maven runtime installations can now be customized with a name, and additional libraries can be added. Maven Launch configurations now reference the Maven runtime by name, instead of using a hard-coded location so the configuration is more portable.</p></li>
</ul><p>See bugs <a href="https://bugs.eclipse.org/427932">427932</a>, <a href="https://bugs.eclipse.org/418263">418263</a>, <a href="https://bugs.eclipse.org/432436">432436</a></p><h1><a href="#accept-contributions-from-gerrit" name="accept-contributions-from-gerrit">Accept contributions from Gerrit</a></h1><p>In order to lower the contribution barrier and increase contributor diversity, the M2Eclipse project now <a href="https://wiki.eclipse.org/M2E_Development_Environment#Submitting_patches">accepts changes</a> contributed via the <a href="https://code.google.com/p/gerrit/">Gerrit</a> review system. Head over the <a href="http://wiki.eclipse.org/Gerrit">wiki</a> that explains how to use it. Does it work? <a href="https://git.eclipse.org/r/#/q/m2e-core,n,z">Hell yeah</a>! After several significant <a href="http://git.eclipse.org/c/m2e/m2e-core.git/log/?qt=author&q=Anton+Tanasenko">contributions</a>, <a href="https://plus.google.com/107693438225172488731/posts">Anton Tanasenko</a> has joined the M2Eclipse team as commiter!</p><p>Welcome Anton!</p><p>See bug <a href="https://bugs.eclipse.org/374665">374665</a></p><h1><a href="#conclusion" name="conclusion">Conclusion</a></h1><p>With new blood on the m2e team, numerous fixed bugs and some big new features &amp; improvements, m2e 1.5.0 is a pretty exciting release. Hope you guys appreciate this year’s release, before an even better version next time.</p><p>So if you haven’t installed m2e 1.5.0 yet, head over to <a href="https://www.eclipse.org/m2e/download/">https://www.eclipse.org/m2e/download/</a> and have at it.</p><p>We’d love to hear your feedback on the <a href="https://dev.eclipse.org/mailman/listinfo/m2e-users">mailing list</a>, or whether you <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=m2e">report bugs or enhancement requests</a>.</p><p>Article originally taken from the <a href="http://tools.jboss.org/blog/2014-07-08-m2e-1_5-improvements.html">JBoss Blog</a>. Thanks to Fred Bricon for writing up our release notes :-)</p>
  </div>
</div>
            
        </div>
    </div><!-- END wrap -->
    
        <div class="stickyFooter">
      <div class="footer">
        <div class="container">
          <div class="row">
            <div class="col-md-4 md-margin-bottom-40"></div><!--/col-md-4-->
            <div class="col-md-4 md-margin-bottom-40">            </div>
            <div class="col-md-4">
            </div>
          </div>
        </div>
      </div>
      <div class="copyright">
        <div class="container">
          <div class="row">
            <div class="col-md-6">
              <p class="copyright-space">
                <a href="https://www.eclipse.org/">Home</a> | <a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a> | <a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a> | <a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a> | <a href="https://www.eclipse.org/legal/">Legal</a> | <a href="https://www.eclipse.org/org/foundation/contact.php">Contact Us</a>
              </p>
            </div>
            <div class="col-md-6" align="right">
              <p class="copyright-space">
                Copyright &copy;
                2016 The Eclipse Foundation. All Rights Reserved.
              </p>
            </div>
          </div>
        </div>
      </div>
    </div>


    <!-- JS Global Compulsory -->
    <script type="text/javascript" src="/m2e/assets/plugins/jquery-1.10.2.min.js"></script>
    <script type="text/javascript" src="/m2e/assets/plugins/jquery-migrate-1.2.1.min.js"></script>
    <script type="text/javascript" src="/m2e/assets/plugins/bootstrap/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="/m2e/assets/plugins/hover-dropdown.min.js"></script>
    <script type="text/javascript" src="/m2e/assets/plugins/back-to-top.js"></script>
    <!-- TESTING JS -->
    <script type="text/javascript" src="/m2e/assets/plugins/app.js"></script>
    <script type="text/javascript">
        jQuery(document).ready(function() {
            App.init();
        });
    </script>
    <!--[if lt IE 9]>
        <script src="/m2e/assets/plugins/respond.js"></script>
    <![endif]-->
  </body>
</html>	
