微服务项目(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配置: