mirror of
https://gitee.com/dcren/initializr.git
synced 2025-04-05 17:38:06 +08:00
spring boot initializr https://github.com/spring-io/initializr.git
initializr | ||
initializr-service | ||
.cfignore | ||
.gitignore | ||
README.adoc |
= Spring Initializr == Prerequisites You need Java (1.6 or better) and a bash-like shell. 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 install springboot ---- 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: [indent=0] ---- $ curl start.spring.io/install.sh | bash ---- After running that command you should see a `spring` directory: [indent=0] ---- $ ./spring/bin/spring --help usage: spring [--help] [--version] <command> [<args>] ... ---- You could add that `bin` directory to your `PATH` (the examples below assume you did that). If you don't have `curl` or `zip` you can probably get them (for Windows users we recommend http://cygwin.org[cygwin]), or you can download the http://start.spring.io/spring.zip[zip file] and unpack it yourself. == Project structure 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 create a proper configuration file with the following script: [indent=0] ---- package org.acme.myapp @Grab('io.spring.initalizr:initializr:1.0.0.BUILD-SNAPSHOT') class InitializerService { } ---- As a reference, `initializr-service` represents the _default_ service that runs at http://start.spring.io [[run-app]] == Running the app locally NOTE: Initializr currently uses a milestone release of `spring-test-htmlunit` that is available from 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 a `springMilestone` that you should activate if you haven't defined that repository yourself. First make sure that you have built the library: [indent=0] ---- $ cd initializr $ mvn clean install -PspringMilestone ---- Once you have done that, you can easily start the app using the spring command from the `initializr-service` directory (`cd ../initializr-service`): [indent=0] ---- $ spring run app.groovy ---- ## Deploying to Cloud Foundry If you are on a Mac and using http://brew.sh/[homebrew], install the Cloud Foundry CLI: [indent=0] ---- $ brew install cloudfoundry-cli ---- 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 the application name and URL (name and host values) are suitable for your environment before running `cf push`. You can jar up the app and make it executable in any environment. [indent=0] ---- $ spring jar start.jar app.groovy ---- Once the jar has been created, you can push the application: [indent=0] ---- $ cf push start -p start.jar -n start-<space> ---- Where `<space>` is the name of the space. As a failsafe, and a reminder to be explicit, the deployment will fail in production without the `-n`. It is needed to select the route because there is a manifest that defaults it to `start-development`.