spring boot 在STS里将项目打包成war

Posted node2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 在STS里将项目打包成war相关的知识,希望对你有一定的参考价值。

spring boot通过在maven的pom.xml里面添加spring boot自带的打包插件,可以直接将项目打包成可执行的jar文件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

这种jar文件,spring boot 内嵌了tomcat,因为可以直接通过jar -jar jar文件路径,直接跑起服务,但这时,如果我有需求,想直接打包成war包,然后自己放在tomcat里面执行呢,这时,我们可以这么干

里面http://blog.csdn.net/yingxiake/article/details/51245565这边文件构建的spring boot项目,我我们来进行修改,然后打包成war包

1.修改pom.xml,将packing由jar改成war,并添加tomcat的依赖,scope->provided表明,如果打包时,需要内嵌tomcat就自动提供

2.打开DemoApplication ,让他直接继承SpringBootServletInitializer,并重写configure方法,该方法的作用提供类似web.xml的配置服务

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@SpringBootApplication
@RestController
public class DemoApplication extends SpringBootServletInitializer

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

    @RequestMapping(value = "/","")
    public String helloboot()

        return "hello boot !!" ;
    


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

好到这里,我们就可以直接右键,Run As - >Maven build..输入package的命令,直接打成war包了,

打成的war包直接在项目的target可以看到

这时,你就可以把war报扔到你的tomcat的webapp目录下,直接跑tomcat就可以启动服务了,在浏览器输入http://localhost:8080/demo
测试

除了在sts里面可以用maven的命令行工具进行打包,sts里面自己也提供了打包的功能

例如,打包成可执行的jar文件,就直接点击项目右键Export->Runnable JAR file

然后next,选择输出路径,以及程序运行的主函数

如果你想打包成war,除了按上面的需要改成war需要的格式之外,然后就直接点击项目右键Export->War file了

然后点next,选择输出路径,就可以直接打成war包了

这里要注意如果要使用sts export到war的共能,需要你的项目是标准的web工程。

好了,介绍到这里,如果想要demo的地址,直接下面下载
https://github.com/liuxg2013/spring-boot-web-demo.git

以上是关于spring boot 在STS里将项目打包成war的主要内容,如果未能解决你的问题,请参考以下文章

spring boot项目打包成war并在tomcat上运行的步骤

spring boot项目打包成war并在tomcat上运行的步骤

Spring Boot项目打包成war包

Spring Boot 的项目打包成的 JAR 包,制作成 docker 镜像并运行

如何在spring sts中获取spring boot web项目的默认结构?

3、Spring Boot打包成jar并运行