1 直接从IDE中运行
通常开发过程中,我们需要从IDE中启动SpringBoot应用。这时候我们可以定义一个启动类,比如Launcher.java
,此类包含一个启动方法public static void main(String[] args)
;并在启动类Launcher.java
上添加注解@SpringBootApplication
。最后,直接在IDE中,右键Launcher.java
类执行Run Launcher
即可启动SpringBoot应用。Launcher.java
类代码如下所示:1
2
3
4
5
6
7
8
9
10
11
12package com.biteenew.io;
import org.springframework.boot.autoconfigure.SpringBootApplication;
public class Launcher {
public static void main(String[] args) {
SpringApplication.run(Launcher.class, args);
}
}
2 打包成JAR包运行
将SpringBoot打包成JAR包运行,一般用于部署的情况。将SpringBoot应用打包成JAR包,需要在pom.xml文件中添加spring-boot-maven-plugin
依赖:1
2
3
4
5
6
7
8<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后执行Maven打包指令:1
mvn clean package -Dmaven.test.skip=true
打包结束,出现BUILD SUCCESS
即打包成功。会在Maven项目目录中,出现target目录,里面包含了我们的JAR包。
最后使用java命令,运行JAR包:1
java -jar springboot-example.jar
3 使用Maven Plugin运行
一般情况下,SpringBoot提供了Maven插件:spring-boot-maven-plugin
提供了启动SpringBoot应用的另一种方式:1
mvn spring-boot:run
注意:必须在pom.xml文件所在的目录下指令该指令!
4 打包成WAR包运行
一般情况下我们在使用SpringBoot进行应用开发之后,习惯将使用内嵌Tomcat(或者内嵌Jetty、Undertow容器)对SpringBoot的WEB应用进行部署运行,这种情况下我们一般使用JAR包进行部署;但是对于一些部署环境的要求,我们有时候需要使用外部的Tomcat服务器对SpringBoot应用进行部署,这时候需要将SpringBoot应用打包成WAR包。对于这种情况,SpringBoot同样提供了很方便的配置:
步骤1:修改pom.xml
- 在pom.xml文件中将
<packaging>jar</packaging>
改为<packaging>war</packaging>
,即把打包方式从JAR包改成WAR包; - 将Tomcat的依赖包的maven scope标记为
provided
,这样打包成WAR包的时候将不会包含内嵌Tomcat容器,由部署系统环境在运行时为SpringBoot提供Tomcat容器。
pom.xml文件依赖如下:1
2
3
4
5
6
7
8
9
10
11
12<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
步骤2: 注册Servlet启动类
更新完pom.xml文件后,我们需要创建一个Servlet启动类ServletInitializer.java
,继承自SpringBootServletInitializer.java
类,外部WEB容器会调用此类。Application.java
为我们包含main方法的启动类。1
2
3
4
5
6
7
8
9
10
11
12
13package com.biteenew.io;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
完成上述两个步骤,我们就可以使用Maven对SpringBoot应用进行打包:1
mvn clean package -Dmaven.test.skip=true
打包完毕后,在target文件夹中就会生成我们应用程序的WAR包。最后我们将WAR包拷贝到外部Tomcat服务器目录中,启动Tomcat即可。
——————–【参考文章】——————–