`
234390216
  • 浏览: 10238507 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:462879
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1775973
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1398730
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:395156
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:680167
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:531135
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1184996
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:468789
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:151486
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:68337
社区版块
存档分类
最新评论

Spring Boot(25)——打war包

阅读更多

打war包

使用Spring Boot时通常打的是jar包,如果开发的是Web应用也通常使用内置的Web容器,比如Tomcat。那如果要打war包应该怎么办呢?

1.首先需要把Maven的pom.xml中的package改为war。

<packaging>war</packaging>

2.拿掉spring-boot-maven-plugin插件,因为我们已经不需要repackage了。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

3.打war时内置的Web容器相关的jar就不再需要了,以免部署到外部容器时产生影响。所以当我们使用内置的Tomcat时,我们需要调整Tomcat的依赖的scope为provided。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

4.调整Java Application启动类使其继承SpringBootServletInitializer,并重写其configure方法,重写时调用入参SpringApplicationBuilder的sources方法,并传递配置类作为参数,比如下面这样。这样在开发的时候可以继续以Java Application的方式运行,部署的时候就打war包部署,打war包部署启动时基于Servlet3的ServletContainerInitializer规范将最终会通过下面的Application类来启动Spring Boot的相关内容。

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(Application.class);
  }

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

}

通过以上几步Spring Boot应用就可以打成war包部署到外部Web容器中,运行出来的效果跟打jar包运行的效果是一样的。

(注:本文基于Spring Boot 2.0.3所写)

0
0
分享到:
评论

相关推荐

    spring-boot-reference-guide-zh

    - **Spring Beans与依赖注入**:深入探讨Spring框架的核心概念之一——依赖注入,并介绍如何在Spring Boot应用中使用它。 - **使用@SpringBootApplication注解**:详细介绍该注解的作用及其实现原理。 #### 四、...

    spring boot相关书籍

    本压缩包包含的两本书籍——《SpringBoot揭秘》和《spring-boot-中文参考指南》,都是深入理解和掌握Spring Boot的重要资源。 《SpringBoot揭秘》一书主要涵盖了以下核心知识点: 1. **Spring Boot入门**:介绍...

    Java毕业设计——基于spring boot的桌面聊天室系统设计与实现(源码+数据库).7z

    部署方面,Spring Boot应用可以被打包成可执行的JAR或WAR文件,部署在云服务器或本地服务器上。 9. **异常处理**: 在系统设计中,合理的异常处理机制能够提高应用的健壮性。Spring Boot提供了全局异常处理的机制,...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part3

    《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...

    springboot_jsp_maven(war+jar).rar

    而"亮点是不仅可以war包方式运行,还可以可执行jar包方式运行",这一点揭示了Spring Boot的一个核心特性——内嵌式Servlet容器,如Tomcat。通常,Spring Boot应用可以被打包为可执行的jar,其中包含了运行应用所需的...

    Spring Boot 集成MyBatis简单教程

    2. **新建项目**:通过`File —— New —— Project`创建一个新的Spring Boot项目。 3. **使用Spring Initializr**:选择Spring Initializr作为项目的初始化工具。 4. **填写项目信息**: - **Group**:通常为公司...

    SpringBoot实战-清晰

    **Spring Boot实战——掌握核心概念与实践技巧** Spring Boot是由Pivotal团队开发的一个框架,旨在简化Spring应用的初始搭建以及开发过程。它通过提供预配置的“starter”依赖,使得开发者可以快速创建一个可运行的...

    spring boot实现音乐系统-web课程设计

    在本课程设计中,我们将探讨如何使用Spring Boot技术来实现一个音乐系统——“小丽音乐系统”。这个系统涵盖了Web开发的基本要素,包括增删改查(CRUD)操作,以及额外的功能如音乐下载和排行榜展示。为了确保项目的...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part1

    《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...

    springboot的概要介绍与分析

    Spring Boot 通过“约定优于配置”(Convention Over Configuration)的原则,简化了应用的配置工作,并且内嵌了 Tomcat、Jetty 或 Undertow 等服务器,这使得开发者可以轻易地将其应用打包成可执行的 jar 或 war 包...

    spring-boot-1.1.9.RELEASE.tar.gz

    在发布的 "spring-boot-1.1.9.RELEASE.tar.gz" 文件中,我们看到的是 SpringBoot 框架的一个特定版本——1.1.9 版本,适用于 Linux 系统。这个版本的发布标志着该框架在当时已经经过了严格的测试和优化,可以稳定地...

    spring-boot-demo

    《Spring Boot实战——深入解析与应用》 Spring Boot是由Pivotal团队提供的全新框架,它为简化Spring应用程序的初始搭建以及开发过程而诞生。通过自动配置、起步依赖和Actuator等特性,Spring Boot使得创建独立运行...

    gs-convert-jar-to-war-maven-master-complete:适用于 JBoss EAP 6.x 的 spring-boot war 打包示例

    这个简单的 REST Web 服务展示了如何打包一个 spring-boot war,使其既可执行又可部署到 JBoss、Tomcat、Wildfly。 它源自的 Spring spring-boot 指南 在 Tomcat 和 Wildfly 中,一切都按预期工作。 JBoss EAP 6.x...

    springboot507基于Springboot教学管理系统pf.zip

    Spring Boot应用通常被打包为可执行的JAR或WAR文件,可以直接运行,简化了部署流程。同时,Spring Boot与Docker、Jenkins等工具的集成,使得持续集成和持续部署变得容易。 综上所述,基于Spring Boot的教学管理系统...

    SpringBoot开发文档综合整理文档

    Spring Boot 通过其独特的设计理念——约定优于配置(Convention over Configuration),大幅减少了配置的工作量,使得开发者能够更加专注于业务逻辑的开发。 - **入门快速**:Spring Boot 降低了 Spring 框架的...

    multiboot:具有多个Maven模块的示例Spring Boot应用程序

    本文将深入探讨如何使用Maven和Spring Boot构建一个多模块的应用实例——"multiboot"。 一、理解Spring Boot与Maven 1. Spring Boot:Spring Boot简化了Spring应用的初始搭建以及开发过程,它默认配置了很多常见的...

    Spring in Action 使用Maven 构建Spring 工程

    此外,Maven还支持多种插件,如Spring Boot Maven插件,可以简化Spring Boot应用的构建和运行。 在实际开发中,Maven的 profiles 特性也十分有用。你可以为不同的环境(如开发、测试、生产)定义不同的配置,如...

    java课程设计:基于SpringBoot的图书馆管理系统.zip

    Spring Boot应用可以被打包为可执行的JAR或WAR文件,部署在各种服务器环境中,如Tomcat、Jetty等。 总的来说,基于SpringBoot的图书馆管理系统不仅让学生掌握了Spring Boot的使用,还锻炼了数据库设计、前端开发、...

    博客前后端开发-springboot

    Spring Boot提供了一套强大的安全框架——Spring Security,用于身份验证和授权。默认情况下,它为所有HTTP请求启用CSRF保护,但你可以根据需求进行定制。例如,保护博客的文章编辑接口: ```java @PreAuthorize...

Global site tag (gtag.js) - Google Analytics