<h2>Direct Download @VERSION@</h2>
<ul>
<li><a href="@MAVEN_REPO@/org/eclipse/jgit/org.eclipse.jgit/@VERSION@/org.eclipse.jgit-@VERSION@.jar">org.eclipse.jgit.jar</a> (Raw API library)</li>
<li><a href="@MAVEN_REPO@/org/eclipse/jgit/org.eclipse.jgit/@VERSION@/org.eclipse.jgit-@VERSION@-javadoc.jar">org.eclipse.jgit-javadoc.jar</a> (JavaDoc archive)</li>
<li><a href="@MAVEN_REPO@/org/eclipse/jgit/org.eclipse.jgit.pgm/@VERSION@/org.eclipse.jgit.pgm-@VERSION@.sh">jgit.sh</a> (Self-contained command line executable)</li>
<li><a href="http://download.eclipse.org/jgit/site/@VERSION@/">JGit @VERSION@ Projects Overview</a> (Maven Site)</li>
<li><a href="http://download.eclipse.org/jgit/site/@VERSION@/apidocs/index.html">org.eclipse.jgit JavaDoc</a> (online JavaDoc)</li>
<li><a href="http://download.eclipse.org/jgit/site/@VERSION@/org.eclipse.jgit/clirr-report.html">JGit API changes since previous release</a> (online Clirr API changes report)</li>
</ul>

Find the list of older JGit versions <a href="http://wiki.eclipse.org/JGit/FAQ#Where_can_I_find_older_releases_of_JGit.3F">here</a>.

<h2>Maven Repository</h2>
<p>JGit can be consumed in a Maven build.  Multiple artifacts are available,
depending on the application's requirements:</p>
<pre>
  &lt;repositories&gt;
    &lt;repository&gt;
      &lt;id&gt;jgit-repository&lt;/id&gt;
      &lt;url&gt;@MAVEN_REPO@&lt;/url&gt;
    &lt;/repository&gt;
  &lt;/repositories&gt;

  &lt;!-- Core Library --&gt;
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.eclipse.jgit&lt;/groupId&gt;
      &lt;artifactId&gt;org.eclipse.jgit&lt;/artifactId&gt;
      &lt;version&gt;@VERSION@&lt;/version&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;

  &lt;!-- Smart HTTP Servlet --&gt;
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.eclipse.jgit&lt;/groupId&gt;
      &lt;artifactId&gt;org.eclipse.jgit.http.server&lt;/artifactId&gt;
      &lt;version&gt;@VERSION@&lt;/version&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;

  &lt;!-- AWT UI Helpers --&gt;
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.eclipse.jgit&lt;/groupId&gt;
      &lt;artifactId&gt;org.eclipse.jgit.ui&lt;/artifactId&gt;
      &lt;version&gt;@VERSION@&lt;/version&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;

  &lt;!-- JUnit Test Support --&gt;
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.eclipse.jgit&lt;/groupId&gt;
      &lt;artifactId&gt;org.eclipse.jgit.junit&lt;/artifactId&gt;
      &lt;version&gt;@VERSION@&lt;/version&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;
</pre>

<p>JGit is also available from Maven central:
<a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.eclipse.jgit%22">JGit on Maven central</a>
</p>

<p>For SNAPSHOT versions of the upcoming release, the following repository can be used:</p>
<pre>
  &lt;repository&gt;
    &lt;id&gt;jgit-snapshot-repository&lt;/id&gt;
    &lt;url&gt;https://repo.eclipse.org/content/groups/jgit/&lt;/url&gt;
    &lt;snapshots&gt;
      &lt;enabled&gt;true&lt;/enabled&gt;
    &lt;/snapshots&gt;
  &lt;/repository&gt;
</pre>

<h2>P2 Installation</h2>
<p>JGit can be installed from the <a href="http://www.eclipse.org/egit/">EGit</a> repository:</p>
<ul>
<li>Main Site: <a href="http://download.eclipse.org/egit/updates">http://download.eclipse.org/egit/updates</a> (Recommended)</li>
<li>Oxygen Site (Oxygen.2 has JGit 4.9.2): <a href="http://download.eclipse.org/releases/oxygen">http://download.eclipse.org/releases/oxygen</a></li>
</ul>

<h2>Development Builds</h2>
<p>If you like to use the latest development version, you can install JGit from the EGit nightly repository:</p>
<ul>
<li>development build (master branch): <a href="http://download.eclipse.org/egit/updates-nightly">http://download.eclipse.org/egit/updates-nightly</a>.</li>
<li>maintenance build (latest stable branch): <a href="http://download.eclipse.org/egit/updates-stable-nightly">http://download.eclipse.org/egit/updates-stable-nightly</a>.</li>
</ul>

<p>You can also build JGit from scratch following our <a href="http://wiki.eclipse.org/EGit/Contributor_Guide#Builds">contributor guide</a>.</p>
