Springboot版本通过maven打成WAR无法在Tomcat容器运行(2.8.2版本)

Blade 未结 1 725

一、该问题的重现步骤是什么?

按照正常步骤进行jar改成war

修改pom.xml文件

  1. 将jar改成war
    <packaging>war</packaging>
  2. 移除spring-boot-starter-web中嵌入式tomcat、undertow插件
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!-- 去除内嵌tomcat -->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-undertow</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
  3. <!--添加servlet的依赖-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>

增加启动类

/**
 * 启动器
 *
 * @author Chill
 */
@EnableScheduling
@SpringBootApplication
public class Application extends SpringBootServletInitializer {

   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
      return BladeApplication.createSpringApplicationBuilder(CommonConstant.APPLICATION_NAME,Application.class).sources(Application.class);
   }

   public static void main(String[] args) {
      BladeApplication.run(CommonConstant.APPLICATION_NAME, Application.class, args);
   }

}

使用maven打包

maven打包命令:mvn clean install


二、你期待的结果是什么?实际看到的又是什么?


    尝试在Tomcat6、7、8、9都无法正常启动 ,请指导War包如何正常运行


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

    Boot 2.8.2单体版  WIN10下


四、请提供详细的错误堆栈信息,这很重要。

图片.png

图片.png

图片.png

五、若有更多详细信息,请在下面提供。

1条回答
  • 自顶

    0 讨论(0)
提交回复