Spring Boot打war包

版权声明:转载请注明出处 https://blog.csdn.net/baidu_25104885/article/details/90261161

一、修改pom.xml

添加spring-boot-starter-tomcat的provided依赖(编译时的依赖)

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

添加maven-war-plugin插件
finalName设置war包名为artifactId

<build>
   
    <finalName>${project.artifactId}</finalName>
    
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <configuration>
            <failOnMissingWebXml>false</failOnMissingWebXml>
          </configuration>
        </plugin>
        ...

添加packaging标签

  <groupId>com.lahhass</groupId>
  <artifactId>seckill_idea</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

二、修改启动类

继承SpringBootServletInitializer,重写configure方法

@SpringBootApplication
public class MainApplication extends SpringBootServletInitializer{

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

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(MainApplication.class);
    }

}

三、打war包

cmd进项目目录后或在IDEA Terminal输入:mvn clean package
打包成功后会在项目的target目录下生成war包

四、放在tomcat下运行

将war包放到tomcat的webapps目录下
启动tomcat
在浏览器里通过http://localhost:8080/war包名/xxx 打开项目网页(这样不能跳转到其他页面,因为地址不对)
webapps目录下会生成与war包同名的WebContent文件夹,将文件夹里的内容放到ROOT目录下,就能去掉地址中的war包名访问http://localhost:8080/xxx

猜你喜欢

转载自blog.csdn.net/baidu_25104885/article/details/90261161