第 1 步:将这个 spring boot 项目的打包方式设置为 war。
<packaging>war</packaging>
springboot 默认有内嵌的 tomcat 模块,因此,我们要把这一部分排除掉。
即:我们在 spring-boot-starter-web 里面排除了 spring-boot-starter-tomcat ,但是我们为了在本机测试方便,我们还要引入它,所以我们这样写:
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> <exclusions> <exclusion> <artifactid>log4j-over-slf4j</artifactid> <groupid>org.slf4j</groupid> </exclusion> <exclusion> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> </exclusion> </exclusions> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> <scope>provided</scope> </dependency>
第 2 步:提供一个 springbootservletinitializer 子类,并覆盖它的 configure 方法。
我们可以把应用的主类改为继承 springbootservletinitializer。或者另外写一个类。
@springbootapplication public class application extends springbootservletinitializer { /** * 如果要发布到自己的tomcat中的时候,需要继承springbootservletinitializer类,并且增加如下的configure方法。 * 如果不发布到自己的tomcat中的时候,就无需上述的步骤 */ @override protected springapplicationbuilder configure( springapplicationbuilder application) { return application.sources(application.class); } public static void main(string[] args) { springapplication.run(application.class, args); } }
第3步:测试
使用内嵌的tomcat测试:
进入项目的根目录,输入mvn spring-boot:run,开启项目。
在浏览器中输入
结果如下:
[{"id":1,"name":"tom","sumscore":null,"avgscore":null,"age":25}]
使用发布到自己的tomcat测试:
先进入项目根目录,执行 mvn package ,将项目打包为war包。
然后将target 目录中的springboottest-0.0.1-snapshot.war文件复制到你所安装的tomcat目录中webapps目录中。然后去掉工程后边的后缀。
然后开启tomcat,并在浏览器中输入:(我的tomcat的端口修改为了8088)
结果如下:
[{"id":1,"name":"tom","sumscore":null,"avgscore":null,"age":25}]
以上所述是小编给大家介绍的spring boot 项目发布到 tomcat 服务器的操作步骤,希望对大家有所帮助
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论