多模块Spring-boot项目如何打包成指定名字的war包?

如果不知道如何创建多模块项目,可以参考???还没写呢,写了再加上连接

照着以下步骤一步一步做就可以:

  1. 父亲pom需要设置packaging为pom
 <packaging>pom</packaging>

2 . 核心代码模块,也就是启动类(application)所在的模块,需要引入插件
<build>
       <plugins>
           <plugin>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-maven-plugin</artifactId>
           </plugin>
       </plugins>
   </build>

3. 设置核心代码模块的打包方式为war,
<!--打包方式-->
<packaging>war</packaging>

其他依赖模块如有需要,可以设置为jar的打包方式。实测不设置也会默认打包成jar包

<packaging>jar</packaging>

4. 设置自定义打包名字(这个是打包出来指定名字的关键),如果你知道其他操作,看到这里就可以快跑了。
<build>
<!-- 这里写你想打包成什么的名字,比如spring-demo。打包出来就会是spring-demo.war-->
<finalName>spring-demo</finalName>
</build>

5. 然后就是我们的依赖,Application所在的模块你不可能不引入starter-web吧,然后就是单独引入tomcat依赖,

引入starter-web依赖时,可以排除其内置的tomcat服务器,也就是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>
<!-- 加入tomcat依赖 ,这个一定要有-->
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <scope>provided</scope>
 </dependency>
6. 依赖解决了,我们需要改写启动类:

主要就是继承SpringBootServletInitializer这个类,重写他的configure方法:

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

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

    /**
     *  重写configure方法。
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }

}
7. 在web的目录下添加webapp/WEN-INF/web.xml(没有webapp文件夹就创建一个)

不加的话打包可能会报如下的错:

意思就是没有webxml

所以我们需要在main下面加上webapp/WEN-INF/web.xml

这个位置:

web.xml的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
        http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<!--指定项目名称,-->
<display-name>spring-demo</display-name>
</web-app>

8. 那么现在我们就可以通过idea或者是指令来打包项目了。

root或者web下的都可以,如果还是不行可以尝试用install

没有指令的介绍了,因为小白我不会(╥﹏╥)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值