SpringBoot项目打成一个war包

 springboot 带有内置Tomcat 服务器,能够直接将项目打包成jar运行,运行命令为:java

  java -jar demo.jar
可是若是在须要把项目达成war包该怎么办呢?下面是将springboot项目部署为war项目的一些步骤:
一、首先 在pom.xml中将打包形式 jar 修改成war
<packaging>war</packaging>
二、在pom.xml文件中添加下面的依赖:
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <scope>provided</scope>
 </dependency>

三、设置,打包后的项目访问名称,在build节点里设置文件名 (这里是一个特别须要注意的地方,因为开始的时候是使用的单模块程序,因此能够对项目命名,可是在多模块打包中发现,若是添加项目名称 这个结点。打包好的程序在tomcat中运行的时候会发生错误,war 包的目录格式有问题)git

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

四、因为咱们须要使用外部Tomcat服务器部署war包,因此不能使用建立项目的application.java 这个main方法了,须要重写一个相似于 web.xml 文件配置的方式来启动 Spring 应用上下文,此时咱们须要声明一个类,这个类的做用与在 web.xml 中配置负责初始化 Spring 应用上下文的监听器做用相似。github

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(application名称.class);
    }

而后在idea maven中运行package,或运行命令mvn package,在target目录下生成war包web

而后把target目录下的war包放到tomcat的webapps目录下,启动tomcat,便可自动解压部署。 
最后在浏览器中输入spring

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

 

参考:https://blog.csdn.net/github_38151745/article/details/78707664浏览器

           http://www.javashuo.com/article/p-gddjlilj-eo.htmltomcat

相关文章
相关标签/搜索