mirror of
https://gitee.com/dcren/initializr.git
synced 2025-09-19 01:58:16 +08:00
Migrate to asciidoc
This commit is contained in:
@@ -1,76 +1,96 @@
|
|||||||
# Spring Initializr
|
= Spring Initializr
|
||||||
|
|
||||||
## Prerequisites
|
== Prerequisites
|
||||||
|
|
||||||
You need Java (1.6 or better) and a bash-like shell.
|
You need Java (1.6 or better) and a bash-like shell.
|
||||||
|
|
||||||
If you are on a Mac and using [homebrew](http://brew.sh/), all you need to do to install it is:
|
If you are on a Mac and using http://brew.sh/[homebrew], all you need to do to install it is:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
$ brew tap pivotal/tap
|
$ brew tap pivotal/tap
|
||||||
$ brew install springboot
|
$ brew install springboot
|
||||||
|
----
|
||||||
|
|
||||||
It will install `/usr/local/bin/spring`. You can jump right to [running the app](#running_the_app).
|
It will install `/usr/local/bin/spring`. You can jump right to <<run-app>>.
|
||||||
|
|
||||||
An alternative way to install the `spring` command line interface can be installed like this:
|
An alternative way to install the `spring` command line interface can be installed like this:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
$ curl start.spring.io/install.sh | bash
|
$ curl start.spring.io/install.sh | bash
|
||||||
|
----
|
||||||
|
|
||||||
After running that command you should see a `spring` directory:
|
After running that command you should see a `spring` directory:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
$ ./spring/bin/spring --help
|
$ ./spring/bin/spring --help
|
||||||
|
|
||||||
usage: spring [--help] [--version]
|
usage: spring [--help] [--version]
|
||||||
<command> [<args>]
|
<command> [<args>]
|
||||||
...
|
...
|
||||||
|
----
|
||||||
|
|
||||||
You could add that `bin` directory to your `PATH` (the examples below
|
You could add that `bin` directory to your `PATH` (the examples below
|
||||||
assume you did that).
|
assume you did that).
|
||||||
|
|
||||||
If you don't have `curl` or `zip` you can probably get them (for
|
If you don't have `curl` or `zip` you can probably get them (for
|
||||||
Windows users we recommend [cygwin](http://cygwin.org)), or you can
|
Windows users we recommend http://cygwin.org[cygwin]), or you can
|
||||||
download the [zip file](http://start.spring.io/spring.zip) and unpack
|
download the http://start.spring.io/spring.zip[zip file] and unpack
|
||||||
it yourself.
|
it yourself.
|
||||||
|
|
||||||
## Project structure
|
== Project structure
|
||||||
|
|
||||||
Initializr is a library that provides all the default features and a service with a very simple script
|
Initializr is a library that provides all the default features and a service with a very simple script
|
||||||
that uses the auto-configuration feature of Spring Boot. All you need is _grabbing_ the library and
|
that uses the auto-configuration feature of Spring Boot. All you need is _grabbing_ the library and
|
||||||
create a proper configuration file with the following script:
|
create a proper configuration file with the following script:
|
||||||
|
|
||||||
```
|
[indent=0]
|
||||||
package org.acme.myapp
|
----
|
||||||
|
package org.acme.myapp
|
||||||
|
|
||||||
@Grab('io.spring.initalizr:initializr:1.0.0.BUILD-SNAPSHOT')
|
@Grab('io.spring.initalizr:initializr:1.0.0.BUILD-SNAPSHOT')
|
||||||
class InitializerService { }
|
class InitializerService { }
|
||||||
```
|
----
|
||||||
|
|
||||||
As a reference, `initializr-service` represents the _default_ service that runs at http://start.spring.io
|
As a reference, `initializr-service` represents the _default_ service that runs at http://start.spring.io
|
||||||
|
|
||||||
<a name="running_the_app"></a>
|
[[run-app]]
|
||||||
## Running the app locally
|
== Running the app locally
|
||||||
|
|
||||||
Initializr currently uses a milestone release of `spring-test-htmlunit` that is available from
|
NOTE: Initializr currently uses a milestone release of `spring-test-htmlunit` that is available from
|
||||||
the [spring.io milestone repository](http://repo.spring.io/milestone). If you use a repository
|
the http://repo.spring.io/milestone[spring.io milestone repository]. If you use a repository
|
||||||
manager, please make sure to configure it accordingly. For your convenience, the project defines
|
manager, please make sure to configure it accordingly. For your convenience, the project defines
|
||||||
a `springMilestone` that you should activate if you haven't defined that repository yourself.
|
a `springMilestone` that you should activate if you haven't defined that repository yourself.
|
||||||
|
|
||||||
First make sure that you have built the library:
|
First make sure that you have built the library:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
$ cd initializr
|
$ cd initializr
|
||||||
$ mvn clean install -PspringMilestone
|
$ mvn clean install -PspringMilestone
|
||||||
|
----
|
||||||
|
|
||||||
Once you have done that, you can easily start the app using the spring command from the `initializr-service`
|
Once you have done that, you can easily start the app using the spring command from the `initializr-service`
|
||||||
directory (`cd ../initializr-service`):
|
directory (`cd ../initializr-service`):
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
$ spring run app.groovy
|
$ spring run app.groovy
|
||||||
|
----
|
||||||
|
|
||||||
## Deploying to Cloud Foundry
|
## Deploying to Cloud Foundry
|
||||||
|
|
||||||
If you are on a Mac and using [homebrew](http://brew.sh/), install the Cloud Foundry CLI:
|
If you are on a Mac and using http://brew.sh/[homebrew], install the Cloud Foundry CLI:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
$ brew install cloudfoundry-cli
|
$ brew install cloudfoundry-cli
|
||||||
|
----
|
||||||
|
|
||||||
Alternatively, download a suitable binary for your platform from [Pivotal Web Services](https://console.run.pivotal.io/tools).
|
Alternatively, download a suitable binary for your platform from
|
||||||
|
https://console.run.pivotal.io/tools[Pivotal Web Services].
|
||||||
|
|
||||||
An example Cloud Foundry `manifest.yml` file is provided. You should ensure that
|
An example Cloud Foundry `manifest.yml` file is provided. You should ensure that
|
||||||
the application name and URL (name and host values) are suitable for your environment
|
the application name and URL (name and host values) are suitable for your environment
|
||||||
@@ -78,11 +98,17 @@ before running `cf push`.
|
|||||||
|
|
||||||
You can jar up the app and make it executable in any environment.
|
You can jar up the app and make it executable in any environment.
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
$ spring jar start.jar app.groovy
|
$ spring jar start.jar app.groovy
|
||||||
|
----
|
||||||
|
|
||||||
Once the jar has been created, you can push the application:
|
Once the jar has been created, you can push the application:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
$ cf push start -p start.jar -n start-<space>
|
$ cf push start -p start.jar -n start-<space>
|
||||||
|
----
|
||||||
|
|
||||||
Where `<space>` is the name of the space. As a failsafe, and a
|
Where `<space>` is the name of the space. As a failsafe, and a
|
||||||
reminder to be explicit, the deployment will fail in production
|
reminder to be explicit, the deployment will fail in production
|
Reference in New Issue
Block a user