我是靠谱客的博主 务实薯片,最近开发中收集的这篇文章主要介绍Springboot 多module打包方案,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Springboot 多module打包问题(依赖不存在)解决方案:

参考项目结构如下:

说明: web模块为最终的启动模块,web->service->manager->dao->entity+common

方案1(实际采用):

(1)在最外层父pom:

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>

        <resource>
            <directory>src/main/resources</directory>
            <!-- 是否过滤资源文件,替换maven属性 - 不过滤,否则过滤xlsx文件导致乱码,XSSFWork读取格式异常 -->
            <filtering>false</filtering>
            <includes>
                <include>**/*</include>
                <include>mapper/*.xml</include>
            </includes>
        </resource>
    </resources>

</build>

(2)其他子模块POM(非Springboot启动类: common,entity,dao,manager,service):

无需指定<build/>

(3)Springboot启动类子模块POM(web):

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
         <configuration>
            <mainClass>com.xxx.MxVehiclePartsApplication(此处替换为相应Springboot启动类)</mainClass>
         </configuration>
         <executions>
            <execution>
               <goals>
                  <goal>repackage</goal>
               </goals>
            </execution>
         </executions>
      </plugin>
   </plugins>
</build>

执行mvn package后,可在启动模块(web)target下看到*.jar即为可执行的jar包;


方案2:

(1)在最外层父pom:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>com.xxx.MxVehiclePartsApplication(此处替换为相应Springboot启动类)</mainClass>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

    </plugins>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>

        <resource>
            <directory>src/main/resources</directory>
            <!-- 是否过滤资源文件,替换maven属性 - 不过滤,否则过滤xlsx文件导致乱码,XSSFWork读取格式异常 -->
            <filtering>false</filtering>
            <includes>
                <include>**/*</include>
                <include>mapper/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>

(2)其他子模块POM(非Springboot启动类: common,entity,dao,manager,service):

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <classifier>exec</classifier>
            </configuration>
        </plugin>
    </plugins>
</build>

(3)Springboot启动类子模块POM(web):

无需指定<build/>

最后

以上就是务实薯片为你收集整理的Springboot 多module打包方案的全部内容,希望文章能够帮你解决Springboot 多module打包方案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部