文档章节

关于spring boot jar包与war包的问题

哎小艾
 哎小艾
发布于 2017/03/21 10:24
字数 362
阅读 18
收藏 3

        如果我们想要将这个JAR包转换成可以在Servlet容器中部署的WAR的话,就不能依赖于Application的main函数了,而是要以类似于web.xml文件配置的方式来启动Spring应用上下文,此时我们需要声明这样一个类:

public class HelloWebXml extends SpringBootServletInitializer {  
    @Override  
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {  
        return application.sources(Application.class);  
    }  
  
}  

       这个类的作用与在web.xml中配置负责初始化Spring应用上下文的监听器作用类似,只不过在这里不需要编写额外的XML文件了。

       如果要将最终的打包形式改为WAR的话,还需要对pom.xml文件进行修改,除了需要将packaging的值修改为war以外,还需要对依赖进行适当的配置(这一部分在Spring Boot的样例和文档中均未提及,提醒大家注意):

<dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>   
           <exclusions>  
            <exclusion>  
                <groupId>org.springframework.boot</groupId>  
                <artifactId>spring-boot-starter-tomcat</artifactId>  
            </exclusion>  
           </exclusions>   
</dependency>  

      在这里需要移除对嵌入式Tomcat的依赖,这样打出的WAR包中,在lib目录下才不会包含Tomcat相关的JAR包,否则将会出现启动错误。另外,在移除对Tomcat的依赖后,为了保证编译正确,还需要添加对servlet-api的依赖,因此添加如下的配置:

<dependency>  
            <groupId>org.apache.tomcat</groupId>  
            <artifactId>tomcat-servlet-api</artifactId>  
            <version>7.0.42</version>  
            <scope>provided</scope>  
</dependency>  

参考资料:

使用Spring Boot快速构建应用

本文转载自:http://www.cnblogs.com/lic309/p/5035097.html

哎小艾
粉丝 14
博文 328
码字总数 163990
作品 0
深圳
程序员
私信 提问
运行 Spring Boot 应用的 3 种方式!

运行 Spring Boot 应用的 3 种方式 1、在 IDE 中运行 在 Eclipse、IDEA 中直接运行,又有以下两种方式。 jar 包方式 Spring Boot 默认采用 jar 包内嵌 Tomcat、Jetty 等 Server 的方式,并需...

技术小能手
01/03
0
0
运行 Spring Boot 应用的 3 种方式

今天介绍 3 种运行 Spring Boot 应用的方式,看大家用过几种? 你所需具备的基础 什么是 Spring Boot? Spring Boot 核心配置文件详解 Spring Boot 开启的 2 种方式 Spring Boot 自动配置原理...

Java技术栈
01/03
46
0
springboot冲突导致的发版失败

一、Spring boot因为内嵌tomcat容器,项目发布的时候可以把项目打包为jar包,如何将spring boot项目打包成可发布到tomcat中的war包项目呢?# # 1.需要打包成war包项目,首先需要在pom.xml文件...

坎布里奇
2018/08/17
0
0
spring boot打jar包发布

Spring的项目在spring boot之前一般我都是打成war包发布到tomcat的,但最近使用了spring boot 要打成jar包,一开始不理解为啥有要打成jar,war包不是很好吗? 另外一点是由于现在还不会打jar...

华中湖北人才培训
2018/12/26
51
0
第9章 Spring Boot开发者工具

第9章 Spring Boot开发者工具 Spring Boot为Maven和Gradle提供构建工具插件。 9.1 Spring Boot maven plugin Spring Boot Maven Plugin,提供了使用Maven构建Spring Boot 工程的支持。我们可...

程序员诗人
2017/04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
31分钟前
3
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
42分钟前
3
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
51分钟前
6
0
从零基础到拿到网易Java实习offer,我做对了哪些事

作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到...

Java技术江湖
昨天
5
0
程序性能checklist

程序性能checklist

Moks角木
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部