anchor.diff:  
   
   [[build-tool-plugins-other-build-systems]]
  -== Supporting other build systems
  -If you want to use a build tool other than Maven, Gradle or Ant, you will likely need to
  +== Supporting Other Build Systems
  +If you want to use a build tool other than Maven, Gradle, or Ant, you likely need to
   develop your own plugin. Executable jars need to follow a specific format and certain
   entries need to be written in an uncompressed form (see the
  -_<<appendix-executable-jar-format.adoc#executable-jar, executable jar format>>_ section
  +"`<<appendix-executable-jar-format.adoc#executable-jar, executable jar format>>`" section
   in the appendix for details).
   
   The Spring Boot Maven and Gradle plugins both make use of `spring-boot-loader-tools` to
  -actually generate jars. You are also free to use this library directly yourself if you
  -need to.
  +actually generate jars. If you need to, you may use this library directly.
   
   
   
   [[build-tool-plugins-repackaging-archives]]
  -=== Repackaging archives
  -To repackage an existing archive so that it becomes a self-contained executable archive
  +=== Repackaging Archives
  +To repackage an existing archive so that it becomes a self-contained executable archive,
   use `org.springframework.boot.loader.tools.Repackager`. The `Repackager` class takes a
   single constructor argument that refers to an existing jar or war archive. Use one of the
   two available `repackage()` methods to either replace the original file or write to a new
  
positive.code: 
  
  [[build-tool-plugins-nested-libraries]]
  === Nested libraries
  When repackaging an archive you can include references to dependency files using the
  `org.springframework.boot.loader.tools.Libraries` interface. We don't provide any
  concrete implementations of `Libraries` here as they are usually build system specific.
  
  If your archive already includes libraries you can use `Libraries.NONE`.
  
  
  
  [[build-tool-plugins-find-a-main-class]]
  === Finding a main class
  If you don't use `Repackager.setMainClass()` to specify a main class, the repackager will
  use http://asm.ow2.org/[ASM] to read class files and attempt to find a suitable class
  with a `public static void main(String[] args)` method. An exception is thrown if more
  than one candidate is found.
  
  
  
  [[build-tool-plugins-repackage-implementation]]
  === Example repackage implementation
  Here is a typical example repackage:
  
  [source,java,indent=0]
  ----
  
negative.code: --
  Spring Boot provides build tool plugins for Maven and Gradle. The plugins offer a
  variety of features, including the packaging of executable jars. This section provides
  more details on both plugins as well as some help should you need to extend an
  unsupported build system. If you are just getting started, you might want to read
  "`<<using-spring-boot.adoc#using-boot-build-systems>>`" from the
  "`<<using-spring-boot.adoc#using-boot>>`" section first.
  --
  
  
  
  [[build-tool-plugins-maven-plugin]]
  == Spring Boot Maven Plugin
  The {spring-boot-maven-plugin-site}/[Spring Boot Maven Plugin] provides Spring Boot
  support in Maven, letting you package executable jar or war archives and run an
  application "`in-place`". To use it, you must use Maven 3.2 (or later).
  
  NOTE: See the {spring-boot-maven-plugin-site}/[Spring Boot Maven Plugin Site]
  for complete plugin documentation.
  
  
  
  [[build-tool-plugins-include-maven-plugin]]
  === Including the Plugin
  To use the Spring Boot Maven Plugin, include the appropriate XML in the `plugins`
  section of your `pom.xml`, as shown in the following example:
  
  [source,xml,indent=0,subs="verbatim,attributes"]
  ----
  