将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即 可访问。
1、pom.xml配置修改
<packaging>jar</packaging>
//修改为 <packaging>war</packaging> 2、pom文件添加如些依赖
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> 3、排除springboot内置的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>
说明:为什么要这样排除,就是springboot工程引入spring-boot-starter-web之后,会内嵌一个tomcat,那我们呢就不用这个内嵌tomcat,而是打包成war包后部署到外部的tomcat上 4、改造启动类
@SpringBootApplication @MapperScan("com.lagou.springboot_01_demo.mapper") public class Springboot01DemoApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(Springboot01DemoApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(Springboot01DemoApplication.class); } }
说明:启动类在原有基础上 1、extends SpringBootServletInitializer;2、重写configure方法
5、pom文件中不要忘了maven编译插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> </plugin> </plugins> </build> 6、在IDEA中使用mvn clean命令清除旧的包,并使用mvn package生成新的war包
7、使用外部Tomcat运行该 war 文件(把 war 文件直接丢到 tomcat的webapps目录,启动 tomcat)