springboot的war和jar包的使用详解

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文件中的jar改为war,示例代码如下:

<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技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • spring 整合kafka监听消费的配置过程

    我来分步骤详细讲解下“spring 整合kafka监听消费的配置过程”的攻略。 引入Kafka依赖 在 pom.xml 中引入Kafka依赖,常用的包括 spring-kafka、kafka-clients 等,具体如下: <dependency> <groupId>org.springframework.kafka</grou…

    Java 2023年5月20日
    00
  • Jdbc连接数据库基本步骤详解

    以下是 Jdbc 连接数据库基本步骤的详细攻略: 步骤一:加载驱动程序 在 Java 中,要使用 JDBC 连接数据库,需要先加载相应的数据库驱动。具体步骤为: Class.forName("com.mysql.jdbc.Driver"); 其中 com.mysql.jdbc.Driver 是 MySQL 数据库的驱动程序名,其他数据库的…

    Java 2023年5月20日
    00
  • Spring security用户URL权限FilterSecurityInterceptor使用解析

    下面是关于Spring security用户URL权限FilterSecurityInterceptor使用解析的完整攻略。 内容概述 Spring Security作为一个强大的安全框架,自然有着很多功能和API。其中,URL访问权限控制是一项非常核心和基础的功能。FilterSecurityInterceptor就是Spring Security框架中用…

    Java 2023年5月20日
    00
  • Java项目工程代码深度刨析总结

    Java项目工程代码深度刨析总结攻略 1. 熟悉项目工程整体结构 首先,我们需要熟悉Java项目工程的整体结构,这包括项目的目录结构、源码目录结构、所使用的框架、依赖管理工具等。通常情况下,一个Java项目的目录结构应该包括src、lib、test等三个大文件夹以及其他配置文件。 2. 逐个分析源代码 接下来,我们需要逐个分析源代码,深入了解每个类、方法的功…

    Java 2023年5月23日
    00
  • java 面向对象代码块及不同位置对属性赋值的执行顺序

    下面给您详细讲解“Java面向对象代码块及不同位置对属性赋值的执行顺序”的攻略。 1. 面向对象代码块 Java中的代码块可以分为普通代码块、构造代码块和静态代码块。其中静态代码块和构造代码块可称作面向对象代码块。下面是两个例子: 1.1 静态代码块 静态代码块在类初始化时执行,仅执行一次,适合于执行一次性的初始化操作。 public class Test …

    Java 2023年5月26日
    00
  • spring controller层引用service报空指针异常nullpointExceptio问题

    当在Spring的controller层引用service时出现空指针异常,一般是由于Spring没有正确地注入service导致的。下面是解决该问题的攻略。 1.检查配置文件 在web.xml中检查DispatcherServlet是否正确配置,并且检查applicationContext.xml或其他相关配置文件中是否正确配置了bean,bean是否注入…

    Java 2023年5月25日
    00
  • 浅谈spring和spring MVC的区别与关系

    1. Spring 和 Spring MVC 的区别与关系 Spring Spring 是一个开源的轻量级的 JavaEE 开发框架,主要解决企业级应用开发的复杂性。它提供了一个容器,可以管理应用中所有的组件和服务,帮助开发者解决组件之间的复杂依赖问题。 Spring 的特点: IoC(Inversion of Control) 控制反转 AOP(Aspec…

    Java 2023年5月16日
    00
  • Android仿QQ圆形头像个性名片

    作为网站的作者,我很乐意为大家讲解Android仿QQ圆形头像个性名片的完整攻略。整个过程可以分成以下步骤: 步骤一:导入CircleImageView库 进入项目的gradle文件,在dependencies选项下加入以下代码: compile ‘de.hdodenhof:circleimageview:2.2.0’ 同步gradle,等待依赖库下载完毕。…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部