springboot项目打成war包步骤以及报错点

本文介绍了SpringBoot项目如何打成WAR包的详细步骤,包括在pom.xml中设置打包格式,排除内置Tomcat,修改启动类,声明无需web.xml以及部署到外部Tomcat的方法。注意访问时需添加WAR包名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot项目因为其有内嵌得tomcat(还包括 jetty等)所以打包得时候要排除内置得tomcat

具体步骤

1.pom.xml文件中添加打包格式:

在project标签下添加

<packaging>war</packaging>

2.排除内置tomcat 或者设置成provider

1>

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <scope>provided</scope>
</dependency>

2>

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId> <!-- 移除嵌入式tomcat插件 -->
   <exclusions>
      <exclusion>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-tomcat</artifactId>
      </exclusion>
   </exclusions>
</dependency>

3.修改springboot项目得启动类

@SpringBootApplication
public class XxlJobAdminApplication  extends SpringBootServletInitializer {

   public static void main(String[] args) {
        SpringApplication.run(XxlJobAdminApplication.class, args);
   }


   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
      return application.sources(XxlJobAdminApplication.class);
   }

4.因为springboot项目打包不需要web.xml所以,打包得时候需要在pom里面进行声明,添加:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-war-plugin</artifactId>
   <version>3.0.0</version>
   <configuration>
      <failOnMissingWebXml>false</failOnMissingWebXml>
   </configuration>
</plugin>

重点来了:

如果此时项目还是不能打成war包或者一直是jar的话,还是可以尝试下面的方法。

在idea的主界面点击Build -> build artifacts -> 选择你所需要的war包文件(这里一般会有两个分别是 war 跟 exploded,如果没有的话,那就是你tomcat还没有部署好,建议先部署tomcat,在tomcat配置主界面点击deployment-> + 选择项目war包即可。),此时可以就可以看到在你项目目录下target,会有相应的war存在。

5.部署得话,直接放在tomcat目录下得webapp下,启动tomcat即可,访问得时候需要添加上war包得名称

例如:http://xxx:8080/war包名称

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值