SpringBoot 外部tomcat 打包成war包部署

﹏ヽ暗。殇╰゛Y 2021-12-12 15:29 616阅读 0赞

项目部署前先填个坑,就是tomcat7.0部署SpringBoot的war包会出现一个错误

  1. error creating bean with name 'defaultvalidator' defined in class path resource

所以部署前少填点坑将tomcat升级到8版本以上

接下来就修改我们Spring boot项目里面的启动类和maven依赖了

POM.XML在里面添加 <finalName>打包后war包的名称</finalName>
在这里插入图片描述

添加打包类型<packaging>war</packaging>
在这里插入图片描述
接下来是比较关键的依赖包和排除依赖包

  1. <!-- 添加外部tomcat的servlet-api服务-->
  2. <dependency>
  3. <groupId>javax.servlet</groupId>
  4. <artifactId>javax.servlet-api</artifactId>
  5. </dependency>

移除tomcat依赖或者将tomcat依赖scope改为provide移除tomcat依赖

  1. <dependency>
  2.   <groupId>org.springframework.boot</groupId>
  3.     <artifactId>spring-boot-starter-web</artifactId>
  4.     <!-- 移除嵌入式tomcat插件 -->
  5.     <exclusions>
  6.       <exclusion>
  7.         <groupId>org.springframework.boot</groupId>
  8.         <artifactId>spring-boot-starter-tomcat</artifactId>
  9.       </exclusion>
  10.     </exclusions>
  11. </dependency>

  1. <dependency>
  2.   <groupId>org.springframework.boot</groupId>
  3.   <artifactId>spring-boot-starter-tomcat</artifactId>
  4.   <scope>provided</scope>
  5. </dependency>

现在到我们的启动类了 我这里启动类名:Application

继承SpringBootServletInitializer类实现configure方法

  1. @SpringBootApplication
  2. public class Application extends SpringBootServletInitializer {
  3. public static void main(String[] args) {
  4. SpringApplication.run(Application.class, args);
  5. }
  6. @Override
  7. protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
  8. return builder.sources(Application.class);
  9. }
  10. }

接下来打包部署

将项目的maven 先 mvn clean 然后 mvn install 一下打包
打包成功在项目目录下就出现一个target文件其次找到下面的war包
在这里插入图片描述
把war拷贝到我们的外部tomcat文件的webapps目录下
在这里插入图片描述
在这里插入图片描述
因为我的tomcat一直是启动状态的拷贝下去的war包就会直接被编译

启动tomcat 访问项目

  1. startup

我的tomcat环境变量配好的所以直接cmd里在这里插入图片描述在这里插入图片描述
启动后没有报错下面显示了tomcat的端口和关闭端口

项目就打包部署完成了,浏览器访问项目:http://localhost:端口号/war包名

发表评论

表情:
评论列表 (有 0 条评论,616人围观)

还没有评论,来说两句吧...

相关阅读