springboot生成war包

一、修改打包方式web

<packaging>war</packaging>

二、排除衝突依賴(使用其餘框架引用了log4j,就不使用logback了)spring

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

三、將springboot的maven插件註釋掉,加入打war包插件,若是不註釋springboot的,會生成兩個war包,不影響使用apache

<build>
    <plugins>
        <!--<plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <warSourceExcludes>src/main/resources/**</warSourceExcludes>
                <warName>api</warName>
            </configuration>
        </plugin>
    </plugins>
</build>

四、修改springboot主類,繼承SpringBootServletInitializer,重寫configure方法api

package com.saturn.developercenter;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication (exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
                                   MongoDataAutoConfiguration.class, MongoAutoConfiguration.class})
@ComponentScan ("com.saturn")
public class DevelopercenterApplication extends SpringBootServletInitializer
{
   public static void main(String[] args)
   {
      SpringApplication.run(DevelopercenterApplication.class, args);
   }

   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)
   {
      return builder.sources(DevelopercenterApplication.class);
   }
}
相關文章
相關標籤/搜索