1.将生成文件从jar改成war
<packaging>war</packaging>2.添加依赖,改为编译时使用,否则会跟外部tomcat产生冲突
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>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下进行覆盖,问题解决....
本文介绍如何将Spring Boot应用从Jar包形式转换为War包,并部署到Tomcat服务器的过程。包括修改打包方式、调整依赖配置及启动类设置等步骤。同时解决了因JDK与Tomcat版本兼容性导致的`NoClassDefFoundError`错误。
3528

被折叠的 条评论
为什么被折叠?



