SpringBoot - 如何使用mvn spring-boot:run命令启动项目?

写在前面

mvn spring-boot:run是什么?
mvn spring-boot:run 是一个命令,是一个插件的执行命令。
根据MAVEN官方文档对插件的定义,我们可以知道一个MAVEN插件会有很多个目标,每个目标就是一个 Mojo 类,比如 mvn spring-boot:run 这个指令,spring-boot这部分是一个MAVEN插件,run这部分是一个MAVEN的目标/指令。

错误内容

[ERROR] Failed to execute goal on project servicex-admin: 
Could not resolve dependencies for project cn.hadoopx:servicex-admin:jar:3.8.3: 
The following artifacts could not be resolved: cn.hadoopx:servicex-framework:jar:3.8.3, cn.hadoopx:servicex-quartz:jar:3.8.3, cn.hadoopx:servicex-generator:jar:3.8.3: Could not find artifact cn.hadoopx:servicex-framework:jar:3.8.3 in public (https://maven.aliyun.com/repository/public) -> [Help 1]

以上错误是由于没有找到依赖的JAR包,这是为什么呢?当项目是由多个模块组成的时候,报错找不到子模块的依赖时,需要提前先将子模块进行install,然后再执行启动命令。

启动方式

基于SpringBoot框架开发的项目,常见的有四种项目启动的方式:
A. 直接使用IDEA运行启动类中的MAIN()方法;
B. 使用mvn spring-boot:run 命令,通过执行spring-boot插件的run目标,来启动项目;
C. 项目打成JAR包后通过 java -jar 命令启动项目;
D. 项目打成WAR包后通过WEB容器启动。

mvn spring-boot:run 命令启动项目

在这之前先学习一下MAVEN的基本概念:MAVEN生命周期、阶段、插件、目标详解

①. 官方文档

使用MAVEN启动项目-Running your Application with Maven

②. 启动前提

只有引入spring-boot-starter-parent、spring-boot-starter-web(可选)、spring-boot-maven-plugin(可选,因为spring-boot-starter-parent中已引入该插件) 依赖之后的项目才可以使用mvn spring-boot:run 的方式启动项目。

③. 插件说明

mvn spring-boot:run命令之所以能够运行基于SpringBoot框架的项目,就是因为项目中使用了SpringBoot自定义的 maven 插件 spring-boot-maven-plugin,接下来我们分析一下spring-boot-maven-plugin插件。
首先,执行:mvn help:describe -Dplugin=org.springframework.boot:spring-boot-maven-plugin -Ddetail 查看插件详细信息:
在这里插入图片描述在这里插入图片描述
①. 描述了该插件的基本信息,同时通过Goal Prefix,指明了spring-boot-maven-plugin插件的前缀是 spring-boot,该插件共有7个目标。
在这里插入图片描述
②. 描述了spring-boot:run这个目标的基本信息,该目标用于执行应用程序,实现了org.springframework.boot.maven.RunMojo类,绑定了validate生命周期阶段,且在目标执行时将会先调用 test-compile 生命周期阶段,同时还罗列了该目标的执行参数。

中文乱码

spring-boot-maven-plugin的编码格式与控制台的窗口的编码需要保持一致,可以同时是GBK/UTF-8,这样就不会出现中文乱码了。

<build>
   <plugins>
     <plugin>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-maven-plugin</artifactId>
       <!--解决maven插件启动时中文乱码问题-->
       <configuration>
         <fork>true</fork>
         <!-- spring-boot:run 中文乱码解决 -->
         <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
       </configuration>
     </plugin>
   </plugins>
 </build>

欢迎交流

请添加图片描述

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值