打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所写)
相关推荐
- **Spring Beans与依赖注入**:深入探讨Spring框架的核心概念之一——依赖注入,并介绍如何在Spring Boot应用中使用它。 - **使用@SpringBootApplication注解**:详细介绍该注解的作用及其实现原理。 #### 四、...
本压缩包包含的两本书籍——《SpringBoot揭秘》和《spring-boot-中文参考指南》,都是深入理解和掌握Spring Boot的重要资源。 《SpringBoot揭秘》一书主要涵盖了以下核心知识点: 1. **Spring Boot入门**:介绍...
部署方面,Spring Boot应用可以被打包成可执行的JAR或WAR文件,部署在云服务器或本地服务器上。 9. **异常处理**: 在系统设计中,合理的异常处理机制能够提高应用的健壮性。Spring Boot提供了全局异常处理的机制,...
而"亮点是不仅可以war包方式运行,还可以可执行jar包方式运行",这一点揭示了Spring Boot的一个核心特性——内嵌式Servlet容器,如Tomcat。通常,Spring Boot应用可以被打包为可执行的jar,其中包含了运行应用所需的...
2. **新建项目**:通过`File —— New —— Project`创建一个新的Spring Boot项目。 3. **使用Spring Initializr**:选择Spring Initializr作为项目的初始化工具。 4. **填写项目信息**: - **Group**:通常为公司...
《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...
**Spring Boot实战——掌握核心概念与实践技巧** Spring Boot是由Pivotal团队开发的一个框架,旨在简化Spring应用的初始搭建以及开发过程。它通过提供预配置的“starter”依赖,使得开发者可以快速创建一个可运行的...
在本课程设计中,我们将探讨如何使用Spring Boot技术来实现一个音乐系统——“小丽音乐系统”。这个系统涵盖了Web开发的基本要素,包括增删改查(CRUD)操作,以及额外的功能如音乐下载和排行榜展示。为了确保项目的...
《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...
《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...
Spring Boot 通过“约定优于配置”(Convention Over Configuration)的原则,简化了应用的配置工作,并且内嵌了 Tomcat、Jetty 或 Undertow 等服务器,这使得开发者可以轻易地将其应用打包成可执行的 jar 或 war 包...
在发布的 "spring-boot-1.1.9.RELEASE.tar.gz" 文件中,我们看到的是 SpringBoot 框架的一个特定版本——1.1.9 版本,适用于 Linux 系统。这个版本的发布标志着该框架在当时已经经过了严格的测试和优化,可以稳定地...
《Spring Boot实战——深入解析与应用》 Spring Boot是由Pivotal团队提供的全新框架,它为简化Spring应用程序的初始搭建以及开发过程而诞生。通过自动配置、起步依赖和Actuator等特性,Spring Boot使得创建独立运行...
这个简单的 REST Web 服务展示了如何打包一个 spring-boot war,使其既可执行又可部署到 JBoss、Tomcat、Wildfly。 它源自的 Spring spring-boot 指南 在 Tomcat 和 Wildfly 中,一切都按预期工作。 JBoss EAP 6.x...
Spring Boot应用通常被打包为可执行的JAR或WAR文件,可以直接运行,简化了部署流程。同时,Spring Boot与Docker、Jenkins等工具的集成,使得持续集成和持续部署变得容易。 综上所述,基于Spring Boot的教学管理系统...
Spring Boot 通过其独特的设计理念——约定优于配置(Convention over Configuration),大幅减少了配置的工作量,使得开发者能够更加专注于业务逻辑的开发。 - **入门快速**:Spring Boot 降低了 Spring 框架的...
本文将深入探讨如何使用Maven和Spring Boot构建一个多模块的应用实例——"multiboot"。 一、理解Spring Boot与Maven 1. Spring Boot:Spring Boot简化了Spring应用的初始搭建以及开发过程,它默认配置了很多常见的...
此外,Maven还支持多种插件,如Spring Boot Maven插件,可以简化Spring Boot应用的构建和运行。 在实际开发中,Maven的 profiles 特性也十分有用。你可以为不同的环境(如开发、测试、生产)定义不同的配置,如...
Spring Boot应用可以被打包为可执行的JAR或WAR文件,部署在各种服务器环境中,如Tomcat、Jetty等。 总的来说,基于SpringBoot的图书馆管理系统不仅让学生掌握了Spring Boot的使用,还锻炼了数据库设计、前端开发、...
Spring Boot提供了一套强大的安全框架——Spring Security,用于身份验证和授权。默认情况下,它为所有HTTP请求启用CSRF保护,但你可以根据需求进行定制。例如,保护博客的文章编辑接口: ```java @PreAuthorize...