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

1.将生成文件从jar改为war
<packaging>war</packaging>

2.添加依赖,改成编译时使用,不然会跟外部tomcat产生冲突html

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

3.更改一下启动类java

@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就能够运行了.linux

我遇到了个问题,报错spring

java.lang.NoClassDefFoundError: javax/el/ELManager

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

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