<!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 | M2Eclipse</title>
    <!-- Meta -->
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="Takari is focused on continuous delivery for the Maven ecosystem and offers Apache Maven training classes" />
    <meta name="author" content="takari.io" />
    <meta property="twitter:account_id" content="4503599627980362" />  
    
    <!-- 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" />
    <link rel="stylesheet" href="/m2e/assets/plugins/flexslider/flexslider.css" />
    <link rel="stylesheet" href="/m2e/assets/plugins/parallax-slider/css/parallax-slider.css" />
    <!-- Syntax Highlighting -->
    <link rel="stylesheet" href="/m2e/assets/css/code/syntax-highlighting.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', 'takari.io');
      ga('send', 'pageview');

    </script>
  </head>

  <body>
    <div class="wrap">
      
            <div class="header">
        <div class="navbar navbar-default" role="navigation">
          <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="/index.html"> 
                <img id="logo-header" src="/m2e/assets/img/m2e_logo@2x.svg" alt="M2Eclipse" width="150" height="61" style="margin:20px 0px 10px;"/>
              </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-news.html">News</a>
                  </li>
                
                  
                  
                  <li class="">
                      <a href="/m2e-downloads.html">Download</a>
                  </li>
                
                  
                  
                  <li class="">
                      <a href="/documentation/m2e-documentation.html">Documentation</a>
                  </li>
                
                  
                  
                  <li class="">
                      <a href="/m2e-community.html">Community</a>
                  </li>
                
              </ul>
            </div>
          </div>
        </div>
      </div><!-- END header -->
      
      <div class="container" style="margin-top:20px;">
        <div class="row margin-bottom-30">
  <div class="col-md-12">
    <img class="img-responsive" src="/m2e/assets/img/m2e_homepage.jpg" alt="M2Eclipse: First-class Apache Maven support in the Eclipse IDE"/>
  </div>
</div>
<div class="row">
  <div class="col-md-9">
    <h1>M2Eclipse</h1>
    <p><a href="http://eclipse.org/m2e">M2Eclipse</a> provides tight
integration for <a href="http://maven.apache.org">Apache Maven</a> into the IDE with the
following features:</p>
    <ul>
      <li>Launching Maven builds from within Eclipse</li>
      <li>Dependency management for Eclipse build path based on Maven's pom.xml</li>
      <li>Resolving Maven dependencies from the Eclipse workspace without installing to local Maven repository</li>
      <li>Automatic downloading of the required dependencies from the remote Maven repositories</li>
      <li>Wizards for creating new Maven projects, pom.xml and to enable Maven support on plain Java project</li>
      <li>Quick search for dependencies in Maven remote repositories</li>
      <li>Quick fixes in the Java editor for looking up required dependencies/jars by the class or package name</li>
    </ul>
    <h2>Installation</h2>
    <p>You can install last M2Eclipse release by using the following update site from
within Eclipse:</p>
    <p>
      <a href="http://download.eclipse.org/technology/m2e/releases" target="_blank">
        <code>http://download.eclipse.org/technology/m2e/releases</code>
      </a>
    </p>

    <p>There are also development builds available. Information on how to install those can be found <a href="http://eclipse.org/m2e/download/" target="_blank">here</a>.
  </div>
  <div class="col-md-3">
    <div class="margin-bottom-10">&nbsp;</div>
    <img class="img-responsive" src="/m2e/assets/img/m2e_hangoutCTA.png" alt="Maven Development Hangout with Takari"/>
    <h4>Maven Development Hangout</h4>
    <p class="small">Curious to know what's new with Maven and what might impact development with M2Eclipse? Join the weekly Maven Development Hangout with Takari to take part in the discussion.</p>
    <a href="https://plus.google.com/u/0/113247990055413254822/posts" target="_blank">
      <button class="btn-u" type="button">Upcoming Hangout</button>
    </a>
  </div>
</div>

      </div><!-- END container -->
    </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;
                2014 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>
    <!-- JS Implementing Plugins -->
    <script type="text/javascript" src="/m2e/assets/plugins/flexslider/jquery.flexslider-min.js"></script>
    <script type="text/javascript" src="/m2e/assets/plugins/parallax-slider/js/modernizr.js"></script>
    <script type="text/javascript" src="/m2e/assets/plugins/parallax-slider/js/jquery.cslider.js"></script> 
    <!-- JS Page Level -->
    <script type="text/javascript" src="/m2e/assets/js/app.js"></script>
    <script type="text/javascript" src="/m2e/assets/js/index.js"></script>
    <script type="text/javascript">
      jQuery(document).ready(function() {
      App.init();
      App.initSliders();
      Index.initParallaxSlider();
      });
    </script>
    <!--[if lt IE 9]>
        <script src="/m2e/assets/plugins/respond.js"></script>
    <![endif]-->
  </body>
</html>	