Erlo

Spring boot打包war包

2019-04-25 12:01:52 发布   457 浏览  
页面报错/反馈
收藏 点赞

1、设置打包的类型(war/jar)

在pom.xml里设置 war

2、移除嵌入式tomcat插件

//在pom.xml里找到spring-boot-starter-web依赖节点,将exclusions>exclusions>之间的内容删除

dependency>
    groupId>org.springframework.bootgroupId>
    artifactId>spring-boot-starter-webartifactId>
     移除嵌入式tomcat插件 -->
    exclusions>
        exclusion>
            groupId>org.springframework.bootgroupId>
            artifactId>spring-boot-starter-tomcatartifactId>
        exclusion>
    exclusions>
dependency>

3、添加servlet-api的依赖

//下面两种方式都可以,任选其一
dependency>
    groupId>javax.servletgroupId>
    artifactId>javax.servlet-apiartifactId>
    version>3.1.0version>
    scope>providedscope>
dependency>

dependency>
    groupId>org.apache.tomcatgroupId>
    artifactId>tomcat-servlet-apiartifactId>
    version>8.0.36version>
    scope>providedscope>
dependency>

4、修改启动类,并重写初始化方法

4.1、我们平常用main方法启动的方式,都有一个App的启动类,代码如下:

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

 

4.2、我们需要类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码如下:

/**
 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {
 
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(Application.class);
    }
}

5、打包部署

  target目录下的war包放到tomcat的webapps目录下,启动tomcat,切记页面中访问controller的路劲要加上项目名,才能正常访问,即可自动解压部署。 
最后在浏览器中输入

http://localhost:[端口号]/[打包项目名]/

 

发布成功

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认