项目层级结构:
common中的是没有main方法的工具类,service中的是有main方法的业务代码。
打包须知
这种微服务项目或者说是maven父子级项目打包要解决的问题就是具体业务代码依赖工具类代码,利用idea的maven插件可以很方便做到。
-
在cloud_parent,common,service这些上层文件夹管理模块中,添加
<packaging>pom</packaging>
-
在没有main方法的工具模块中只添加
<packaging>jar</packaging>
-
在具体的业务代码模块中添加:
jar
//maven的打包插件 org.springframework.boot spring-boot-maven-plugin//打包规则,打包时将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>
根据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配置: