1:pom文件确认打包方式
<packaging>war</packaging>
2:不使用内部的tomcat版本等信息进行打包忽略自身tomcat
<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>
</exclusions>
</dependency>
3:pom 中在加一个指定的 tomcat 版本信息
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>8.5.70</version>
</dependency>
4:启动类(ps: 这里得注意的是 .sources .run 都是自己的启动类名称)
@Slf4j
@EnableSwagger2
@SpringBootApplication
public class JeecgApplication extends SpringBootServletInitializer {
public static void main(String[] args) throws Exception {
CSpringApplication.run(HisApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 设置启动类,返回spring应用构建对象
return builder.sources(JeecgApplication.class);
}
}
5:设置maven-war-plugins插件,否则外部依赖无法打进war包 ,libs项目路径下的jar包-
<!--设置maven-war-plugins插件,否则外部依赖无法打进war包 ,libs项目路径下的jar包-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>libs</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
<finalName>${project.artifactId}</finalName>
注意:
使用外置tomcat后,在yml这的server配置就会全部失效了,类似port,context-path配置的无效,访问端口就是tomcat配置的端口,context-path就会是tomcat中webapps路径下的包名了