利用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 条评论
登录 后参与评论

相关文章

来自专栏前端开发

在线生成精美简历源码分享

1685
来自专栏finleyMa

开发了一款chrome扩展程序

当打开游记页面 比如 如果检测到有背景音乐, 会弹出包含歌曲信息的chrome桌面提醒,同时鼠标菜单右键有下载歌曲的选项。

772
来自专栏智能大石头

ObjectDataSource选择业务对象列表为空的探讨

前天晚上,在一个页面上拖了一个ObjectDataSource,配置数据源时发现选择业务对象的列表没有列出当前项目的实体类,甚至连NewLife.CommonE...

1707
来自专栏GIS讲堂

Arcgis for Android解决中文字体乱码的问题

首先,在此感谢Arcgis for Android群里的一位成员,大家可以加进来QQ群号:337469080。

634
来自专栏逍遥剑客的游戏开发

OGRE + MinGW + Code::Blocks环境的搭建

1977
来自专栏Material Design组件

Human Interface Guidelines — Text Fields

1315
来自专栏破晓之歌

谷歌插件整理

适用于Facebook、Google、YouTube、Gmail、Google Docs、Reddit、Twitter等网站的精美深色皮肤

1643
来自专栏smy

js图片前端预览之 filereader 和 window.URL.createObjectURL

1 //preview img : filereader方式 2 document.getElementById('imgFile').onchan...

2707
来自专栏极客猴

安装pip版本排雷经验分享

相信大家经常用到pip来安装第三方扩展库。但是经常出现这样的情况:明明自己已经在终端通过pip安装了第三方库,而IDE开发工具Pycharm还提示该库没有安装。...

841
来自专栏cloudskyme

MFC自绘按钮的实现

自绘按钮的实现过程 申明自绘属性 进行VM_MESUREITEM事件响应,说明按钮的尺寸 进行VM_DRAWITEM消息的重新响应,说明如何绘制按钮 首先在vc...

3074

扫码关注云+社区