Spring Boot CLI
本节内容
- 什么是Spring Boot CLI
- Spring Boot CLI的常用命令
Spring Boot CLI
- Spring Boot Command Line Interface (CLI):Spring Boot命令行接口
关于spring boot cli的安装与配置,请参考<01-spring boot起步>一节,确保下载并解压spring boot cli,设置好相应的JAVA_HOME,SPRING_HOME,以及将SPRING_HOME配置到path中。
run命令
run命令:用于运行Java Springboot应用程序
语法:
spring run [options] <files> [--] [args]
选项列表:
选项 | 说明 |
---|---|
–autoconfigure [Boolean] | 默认值为ture,启用自动配置 |
–classpath, - cp | 添加类路径,通常用于引入第三方库,在应用程序根目录建立lib文件夹并将所有类或jar包置于其中 |
–no-guess-dependencies | 不去视图猜测依赖 |
–no-guess-imports | 不视图猜测导入 |
-q, --quiet | 退出日志,不向控制台打印任何信息 |
-v, --verbose | 记录任何日志信息 |
举例:
在任意文件夹下建立如下WebApp.java文件
package com.train.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class WebApp {
@RequestMapping("/")
public String greetings(){
return "<h1>Hello Spring boot</h1>";
}
public static void main(String[] args) {
SpringApplication.run(WebApp.class, args);
}
}
然后进入该目录使用Spring命令行运行Java应用程序
spring run WebApp.java
命令行输入效果
浏览器测试
jar命令
jar命令:Java程序打成jar包
语法:
spring jar [options] <jar-name> <files>
选项说明:
- 也包含
--autoconfigure [Boolean]
,--classpath,(-cp)
,--no-guess-dependencies
,--no-guess-imports
各选项含义同run命令的选项说明。 --exclude
:从jar中排除的文件--include
:包含在jar中的文件
使用示例
将前面的WebApp.java打包并运行
$ spring jar webapp.jar WebApp.java
会生成webapp.jar.original和webapp.jar两个文件,其中webapp.jar.original是由maven建立webapp.jar时的中间文件。
可以通过java命令执行jar文件:
$ java -jar webapp.jar
命令行启动运行效果:
同样可以在浏览器中查看显示结果。
war命令
war命令:将java文件打成war包,用法和jar类似,打包后文件也可以通过java命令执行:
$ java -jar app.war
也可以将war文件发布到tomcat或Jetty这样的web服务器中运行。
将WebApp.java打成war包的命令行执行效果:
init命令
init命令:使用spring Initializr(http://start.spring.io/)初始化一个新项目
语法
spring init [options] [location]
选项列表:
选项 | 说明 |
---|---|
-a, --artifactId | 项目坐标,默认值为demo |
-b, --boot-version | Spring Boot版本,默认为最新版 |
–build | 使用的构建系统,maven或者gradle,默认为maven |
-d, --dependencies | 逗号风格的依赖列表,比如:-d=web或者d=web,jdbc,actuator |
–description | 项目描述 |
-f, --force | 覆盖已存在文件 |
–format | 生成内容的格式。值可以是build和project,默认值是project,当你需要向ide中导入项目时,可以设置为project,指定为build时,如果时maven则仅生成pom.xml文件 |
-g, --groupId | 默认值为com.example |
-j, --java-version | Java版本,默认为1.8 |
-l, --language | 编程语言,可以是java或者groovy,默认是java |
-n, --name | 应用程序名,默认是demo |
-p, --packaging | 项目打包格式,可以是jar,war,zip,默认是zip |
–package-name | 包名,默认为demo |
-t, --type | 项目类型,值可以是:maven-project , maven-build , gradle-project ,gradle-build,默认为maven-project |
–target | 使用服务的url,默认是https://start.spring.io 你也可以建立你自己的服务引用 |
-v, --version | 项目版本,默认为0.0.1-SNAPSHOT |
-x, --extract | 如果未指定位置,则在当前文件夹展开项目内容(默认生成zip包,指定-x选项后是展开后的文件夹结构) |
init例子
- 建立默认项目
$ spring init
命令行运行效果:
说明:
-
会生成demo.zip,解压后为maven项目结构
-
如果不想要zip格式,然后再去解压,可以直接使用-x选项
-
注意电脑要能够访问网址:https://start.spring.io,否则无法生成项目
-
注意两个附加文件mvnw (for UNIX)和mvnw.cmd (for Windows)。如果系统中没有安装Maven可以使用这两个附加文件运行maven项目,比如:
$ mvnw spring-boot:run
该命令会将Maven工具下载到.mvn子目录下,然后运行
命令行运行效果:
- 初始化一个web项目,使用jdbc,构建工具为maven
$ spring init -d=web,jdbc
- 建立pom.xml文件,依赖web,jpa,security依赖,–format=build则仅建立pom.xml文件,默认为project,建立完整项目
$ spring init -d=web,data-jpa,security --format=build
- 建立项目包含项目名,groupId,artifactId,需要参数参数-name,-g,-a,定义包名需要 --package-name
spring init -d=web,thymeleaf,data-jpa,h2,security -g=com.train.springboot -a=spring-boot-note --package-name=com.train.springboot -name=spring-boot-note
Shell命令行
启动内置命令行:
$ spring shell
输入help后查看所有spring cli命令,输入exit(或者quit)退出shell
Help命令
和在spring shell中输入help一样,输出命令帮助。
spring help
spring boot cli可用的命令有:
run [options] <files> [--] [args]
运行sping boot项目
grab
下载依赖到./repository目录
jar [options] <jar-name> <files>
建立jar包
war [options] <war-name> <files>
建立war包
install [options] <coordinates>
向lib目录安装依赖
uninstall [options] <coordinates>
从lib目录移除依赖
init [options] [location]
使用Spring Initializr (start.spring.io)初始化项目
shell
启动内嵌shell
获取init的帮助:
$ spring help init
命令行运行效果: