springboot生成war包部署,并且遇到的问题

1.将生成文件从jar改成war
 war

2.添加依赖,改为编译时使用,否则会跟外部tomcat产生冲突

        
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        

3.更改一下启动类

@SpringBootApplication
@MapperScan(basePackages = {"com.xxxx.www.mapper"})
public class ZcwBackstageApplication extends SpringBootServletInitializer {

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

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(ZcwBackstageApplication.class);
    }
}

此时使用idea生成war包放到tomcat就可以运行了.

我遇到了个问题,报错

java.lang.NoClassDefFoundError: javax/el/ELManager

首先我的项目是jdk1.8,运行的linux的jdk是1.8.tomcat是7.

解决办法就是直接在tomcat8中跑或者将tomcat8中lib下的el-api.jar包拷贝到tomcat7的lib下进行覆盖,问题解决....

你可能感兴趣的:(springboot生成war包部署,并且遇到的问题)