Spring Boot的WAR和JAR包使用详解
Spring Boot是一个非常流行的开源框架,可以帮助开发者快速建立基于Spring的应用程序。一般情况下,Spring Boot提供两种打包方式:JAR包和WAR包。本文将详细介绍这两种打包方式的使用方法。
JAR包
JAR包是最常见的Java应用程序打包方式,可以包含所有需要的类文件和资源文件,还可以包含必需的库文件和配置文件。使用JAR包打包Spring Boot应用程序非常方便。
1.创建一个Maven项目
首先,我们需要创建一个Maven项目,示例代码如下:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<packaging>jar</packaging>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
2.编写一个Spring Boot应用程序类
在src/main/java目录下创建一个包名(例如com.example.myproject)与artifactId(即myproject)相同的Java类作为Spring Boot应用程序入口,示例代码如下:
package com.example.myproject;
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;
@SpringBootApplication
@RestController
public class MyProjectApplication {
@RequestMapping("/")
public String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(MyProjectApplication.class, args);
}
}
3.构建JAR包
运行以下Maven命令进行构建:
mvn clean package
此命令会在target目录下生成一个名为myproject-0.0.1-SNAPSHOT.jar的JAR包。
4.运行JAR包
使用以下命令运行JAR包:
java -jar target/myproject-0.0.1-SNAPSHOT.jar
打开浏览器,在地址栏输入http://localhost:8080/,应该会看到“Hello World!”字样,至此,我们已经成功地使用JAR包方式打包并运行了Spring Boot应用程序。
WAR包
WAR包是Web应用程序打包方式,可以包含所有需要的类文件和资源文件,还可以包含必需的库文件和配置文件。使用WAR包打包Spring Boot应用程序也非常方便。
1.创建一个Maven项目
与使用JAR包方式的第1步相同。
2.修改pom.xml文件,将打包方式改为WAR
将pom.xml文件中的
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<packaging>war</packaging>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
3.修改WebApplicationInitializer类
在src/main/java目录下创建一个实现javax.servlet.ServletContainerInitializer接口的Java类,示例代码如下:
package com.example.myproject.config;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
@SpringBootApplication
public class MyProjectApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MyProjectApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyProjectApplication.class, args);
}
}
4.构建WAR包
运行以下Maven命令进行构建:
mvn clean package
此命令会在target目录下生成一个名为myproject-0.0.1-SNAPSHOT.war的WAR包。
5.部署WAR包
将生成的WAR包拷贝至Tomcat或其他Servlet容器的webapps目录下,启动Tomcat或Servlet容器即可访问。在地址栏输入http://localhost:8080/myproject/,应该会看到“Hello World!”字样。
结论
基于Spring Boot的应用程序可以使用两种不同的打包方式:JAR包和WAR包。无论您选择哪种方式,都可以快速部署和运行Spring Boot应用程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot的war和jar包的使用详解 - Python技术站