深入理解Spring Cloud与微服务构建(第2版)
上QQ阅读APP看书,第一时间看更新

3.3.6 常用的Maven命令

(1)mvn clean删除工程的target目录下的所有文件。

(2)mvn package将工程打为Jar包。

在终端上切换到3.2.1节中项目的根目录下,输入mvn package命令,终端最后会显示如下信息,证明工程打Jar包成功。

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ hello-world ---
[INFO] Building jar:   
/Users/forezp/IdeaProjects/jianshu2/hello-world/target/hello-world-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.1.0.RELEASE:repackage (default) @ hello-world ---
[INFO] ------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------
[INFO] Final Memory: 32M/271M
[INFO] ----------------------------------------------------------

上述的mvn package打包命令不是一个简单的命令,它是由一系列有序的命令构成的,mvn package命令执行过程包含以下6个阶段。

•验证。

•编译代码。

•处理代码。

•生成资源文件。

•生成Jar包。

•测试。

(3)mvn package -Dmaven.test.skip=ture,打包时跳过测试。

(4)mvn compile编译工程代码,不生成Jar包。

(5)mvn install命令包含了mvn package的所有过程,并且将生成的Jar包安装到本地仓库。执行mvn install命令,可以看到终端输出的日志,经过了与mvn package相同的阶段,最后将Jar包安装到本地仓库。终端显示的日志如下:

[INFO] Installing
/Users/forezp/IdeaProjects/jianshu2/hello-world/target/hello-world-0.0.1-SNAPSHOT.jar to   
/Users/forezp/.m2/repository/com/forezp/hello-world/0.0.1-SNAPSHOT/hello-world-0.0.1-SNAPSHOT.jar
[INFO] Installing /Users/forezp/IdeaProjects/jianshu2/hello-world/pom.xml to  
/Users/forezp/.m2/repository/com/forezp/hello-world/0.0.1-SNAPSHOT/hello-world-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------
[INFO] Total time: 7.251 s
[INFO] Finished at: 2017-05-24T22:43:48+08:00
[INFO] Final Memory: 30M/272M
[INFO] ------------------------------------------------------------

(6)mvn spring-boot:run使用spring-boot插件,启动Spring Boot工程。该命令执行时先检查Spring Boot工程源码是否编译,如果工程源码没有编译,则先编译;如果编译了,则启动工程,启动后的工程日志如下:

 [INFO] --- spring-boot-maven-plugin:2.1.0.RELEASE:run (default-cli) @ hello-world ---
  .   ____         _           __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _' | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__' | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v2.1.0.RELEASE)
2017-05-24 22:53:51.648  INFO 1549 --- [           main] com.forezp.HelloWorldAp
.............
2017-05-24 22:53:54.050  INFO 1549 --- [           main] com.forezp.HelloWorldApplication         : Started HelloWorldApplication in 2.923 seconds (JVM running for 6.067)

(7)mvn test测试。

(8)mvn idea:idea生成idea项目。

(9)mvn jar:jar只打Jar包。

(10)mvn validate检验资源是否可用。

本章讲述了开发项目中开发环境的搭建和开发工具的使用,难免会有点枯燥,但却是开发微服务的基本前提,下一章将讲述Spring Boot的入门内容。