利用IDEA将SpringBoot的项目打包成war文件

今天给大家解释一下,如何利用IDEA将SpringBoot的项目打包成war文件。

关于为什么要打包成war文件,我这里就不多介绍了,大家有兴趣的可以自己去Google一下。

下面就给出具体的操作步骤:

步骤一:修改pox.xml文件

1.首先将 <packaging>jar</packaging>修改为 <packaging>war</packaging>

2.在dependencies里面添加以下代码:

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-legacy</artifactId>
            <version>1.0.2.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
        </dependency>

        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.1.4.RELEASE</version>
        </dependency>

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

步骤二:修改SpringBoot中的启动文件

package example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.ActiveProfiles;
@Configuration
@ComponentScan
@EnableAutoConfiguration
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }

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

步骤三:也是最重要的步骤,就是修改完后不要运行该项目,会报错的。

因为这个是为打包而设计的方案,如果大家想要运行项目的话,一定要把spring-boot-starter-tomcat中 <scope>provided</scope>注释掉才可以运行,不然肯定会出错,这点大家一定要注意。

正确的操作步骤应该是在IDEA中找到Build--》Build Artifacts--》点击生成war包,这样利用IDEA将SpringBoot的项目打包成war文件的所有步骤就完成了。

如果大家对本文有啥异议或者想向我提什么问题都可以加我QQ:208017534  欢迎打扰哦!!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小灰灰

Java 动手写爬虫: 四、日志埋点输出 & 动态配置支持

第四篇, 日志埋点输出 & 动态配置支持 前面基本上实现了一个非常简陋的爬虫框架模型,很多关键链路都没有日志,在分析问题时,就比较麻烦了,因此就有了这一篇博文...

2257
来自专栏石奈子的Java之路

原 SpringBoot 2.0 系列00

1674
来自专栏你不就像风一样

网络爬虫之Url含有中文如何转码

742
来自专栏Spring相关

第3章—高级装配—配置profile bean

我们正常开发的过程中经常遇到的问题是,开发环境是一套环境,qa测试是一套环境,线上部署又是一套环境。这样从开发到测试再到部署,会对程序中的配置修改多次,尤其是从...

732
来自专栏yukong的小专栏

【SpringBoot系列02】SpringBoot之使用Thymeleaf视图模板

【SpringBoot系列02】SpringBoot之使用Thymeleaf视图模板

1071
来自专栏抠抠空间

scrapy之中间件

1006
来自专栏练小习的专栏

在 Apache 上部署 Let’s Encrypt 证书与自动续期脚本

https实战,在 Apache 上部署 Let’s Encrypt 证书与自动续期脚本 作为一只菜鸟,对别人都已经掌握而自己却没有实践过的东西总是心痒难耐,...

2619
来自专栏Java成神之路

Spring_总结_03_装配Bean(一)之自动装配

(2)当必须要显示配置的时候,再使用类型安全并且比XML更强大的JavaConfig

792
来自专栏程序猿DD

【译】Spring官方教程:Spring Boot整合消息中间件RabbitMQ

原文:Messaging with RabbitMQ 译者:chenzhijun 校对:程序猿DD 本篇指南会告诉您如何使用构建一个基于 AMQP协议的 Rab...

2638
来自专栏一个会写诗的程序员的博客

Kotlin集成 SpringBoot 混合Java库开发

apply plugin: 'org.springframework.boot' apply plugin: 'kotlin'

361

扫码关注云+社区