Spring Cloud与微服务之父Maven模块

项目结构

  接下来我将开始尝试创建基于SpringCloud的eureka微服务项目架构,首先看一下项目的总体文件模块结构:

在这里插入图片描述

  其对应的Maven模块结构如下:

在这里插入图片描述

springcloud-parent中pom.xml

springcloud-parent中pom.xml的作用

  springcloud-parent父模块在这里的作用主要有如下这么几点:

  • 指定项目的公共依赖模块

  比如说下面的指定spring boot的parent,也就是说指定当前模块是哪一个Maven模块的子模块,这样自该模块下的所有子模块,全部都会继承该parent父模块中的依赖。

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>1.5.4.RELEASE</version>
</parent>

  它的另一个作用是指定子模块所继承的公共依赖,比如说junit测试依赖,比如说logging日志依赖等等都是如此。

<dependency>
	<groupId>org.junit.jupiter</groupId>
	<artifactId>junit-jupiter-api</artifactId>
	<version>5.3.2</version>
	<scope>test</scope>
</dependency>
  • 加载子Maven模块

  Maven父模块是通过如下方式自动加载子模块的:

	<modules>
		<module>springcloud-goods-item</module>
		<module>springcloud-goods-order</module>
		<module>springcloud-eureka</module>
		<module>springcloud-eureka2</module>
		<module>springcloud-goods-item2</module>
		<module>springcloud-api-gateway</module>
		<module>springcloud-config-server</module>
		<module>springcloud-config-resources</module>
		<module>rabbit-mq-resources</module>
		<module>springcloud-goods-db</module>
	</modules>

  这样我们在父模块中执行Maven指令,其Maven指令会自动的传递到子Maven模块中执行,比如说下面的指令就是如此:

mvn clean

  它的意思是清理父模块以及子模块中的target文件夹

  • 指定子Maven模块的软件版本

  根据Maven的规则,一旦在父模块中指定版本号,其子模块就不用指定版本号了,因为子模块的版本号默认与父模块相同。

  • 指定子Maven模块的插件信息

  其通过plugins来指定子模块中所使用的插件版本及信息,这样子模块中就无需重复再写了,直接使用父模块中的插件及对应的版本,比如说Maven的编译插件maven-compiler-plugin等。

  • 指定子Maven模块的资源打包方式

  在这里,其指定的是将Spring Cloud的配置文件*.yml视为资源文件进行使用,比如说打入war包等。当然,位于resources文件夹内的文件,默认就是资源文件,所以说这里也可以省略。

<resource>
    <directory>src/main/resources</directory
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值