anchor.diff:  [[run-app]]
   === Running the app locally
   
  -Once you have <<building, built the library>>, you can easily start the app as any other
  -Spring Boot app from the `initializr-service` directory:
  +Once you have <<building, built the library>>, you can easily start the app as any
  +other Spring Boot app from the `initializr-service` directory:
   
   [indent=0]
   ----
  
positive.code: class YourInitializrApplication { }
  ----
  
  NOTE: Spring Initializr is not available on Maven central yet so you will have to build
  it <<build,from source>> in order to use it in your own environment.
  
  Once you have created that script (`my-instance.groovy`), place your configuration in the same
  directory and simply execute this command to start the service:
  
  [source,bash]
  ----
  
negative.code: $ curl https://start.spring.io/starter.zip -o demo.zip
  ----
  
  The web ui exposes a bunch of options that you can configure. These are mapped to the
  following request attributes:
  
  * Basic information for the generated project: `groupId`, `artifactId`, `version`,
  `name`, `description` and `packageName`
  ** The `name` attribute is also used to generate a default application name. The
  logic is that the name of the application is equal to the `name` attribute with an
  `Application` suffix (unless said suffix is already present). Of course, if the
  specified name contains an invalid character for a java identifier, `Application` is
  used as fallback.
  ** The `artifactId` attribute not only defines the identifier of the project in the
  build but also the name of the generated archive.
  * `dependencies` (or `style`): the identifiers of the dependencies to add to the
  project. Such identifiers are defined through configuration and are exposed in the
  <<metadata,metadata>>.
  * `type`: the _kind_ of project to generate (e.g. `maven-project`). Again, each
  service exposes an arbitrary number of supported types and these are available in the
  <<metadata,metadata>>.
  * `javaVersion`: the language level (e.g. `1.8`).
  * `bootVersion`: the Spring Boot version to use (e.g. `1.2.0.RELEASE`).
  * `language`: the programming language to use (e.g. `java`).
  * `packaging`: the packaging of the project (e.g. `jar`).
  * `applicationName`: the name of the application class (inferred by the `name`
  attribute by default).
  * `baseDir`: the name of the base directory to create in the archive. By default, the
  project is stored in the root.
  
  This command generates an `another-project` directory holding a Gradle web-based
  Groovy project using the actuator:
  