微服务项目(maven父子级项目)怎么打包

项目层级结构:

在这里插入图片描述

common中的是没有main方法的工具类,service中的是有main方法的业务代码。

打包须知

这种微服务项目或者说是maven父子级项目打包要解决的问题就是具体业务代码依赖工具类代码,利用idea的maven插件可以很方便做到。

  • 在cloud_parent,common,service这些上层文件夹管理模块中,添加<packaging>pom</packaging>
  • 在没有main方法的工具模块中只添加<packaging>jar</packaging>
  • 在具体的业务代码模块中添加: 
<packaging>jar</packaging>

<build>
        //maven的打包插件
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        
        //打包规则,打包时将resource文件夹打包进去
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
</build>根据maven的继承特性,我在service文件夹模块中添加

根据maven的继承特性,我在service文件夹模块中添加

 

 

 这样,只需在每个有mian方法的具体的业务模块中的pom中添加:

<build>
        //maven的打包插件
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
</build> 

 

最终打包:只需对最顶层模块进行clean,install,在每个模块对应的target目录中找到jar包。

 

 

 

 最后附上maven配置:

 

 

posted @ 2022-02-10 19:02  Janus2003  阅读(1100)  评论(0编辑  收藏  举报