未找到结果
我们无法找到任何使用该词的内容,请尝试搜索其他内容。
在上一篇Spring Cloud(01)——初识Spring Cloud,回顾微服务及微服务架构中,我们初步了解了什么是SpringCloud和微服务,下面我们来先搭建一个rest微服务模块:订单(服务提供者)—支付(服务消费者)模块的父工程。< /p> 1、新建父工程项目空间< /h2> 1、
在上一篇Spring Cloud(01)——初识Spring Cloud,回顾微服务及微服务架构中,我们初步了解了什么是SpringCloud和微服务,下面我们来先搭建一个rest微服务模块:订单(服务提供者)—支付(服务消费者)模块的父工程。< /p>
1、新建一个maven项目,注意选择自己的maven版本< /p>
< /p>
2、设置字符集编码< /p>
< /p>
3、注解激活生效< /p>
< /p>
4、选择java版本为1.8< /p>
< /p>
5、添加文件过滤File Types,选择不显示哪些文件(可选)< /p>
< /p>
这里我添加了*.idea和 *.iml文件,再以后新建模块时,这两个文件将不会出现。< /p>
<packaging< /span>>< /span>pom</packaging< /span>>< /span>
<properties< /span>>< /span>
<project.build.sourceEncoding< /span>>< /span>UTF-8</project.build.sourceEncoding< /span>>< /span>
<maven.compiler.source< /span>>< /span>8</maven.compiler.source< /span>>< /span>
<maven.compiler.target< /span>>< /span>8</maven.compiler.target< /span>>< /span>
<junit.version< /span>>< /span>4.12</junit.version< /span>>< /span>
<lombok.version< /span>>< /span>1.18.20</lombok.version< /span>>< /span>
<log4j.version< /span>>< /span>1.2.12</log4j.version< /span>>< /span>
<mysql.version< /span>>< /span>5.1.47</mysql.version< /span>>< /span>
<druid.version< /span>>< /span>1.1.16</druid.version< /span>>< /span>
</properties< /span>>< /span>
<dependencyManagement< /span>>< /span>
<dependencie< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>org.springframework.boot</groupId< /span>>< /span>
<artifactId< /span>>< /span>spring-boot-dependencie</artifactId< /span>>< /span>
<version< /span>>< /span>2.2.2.RELEASE</version< /span>>< /span>
<type< /span>>< /span>pom</type< /span>>< /span>
<scope< /span>>< /span>import</scope< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>org.springframework.cloud</groupId< /span>>< /span>
<artifactId< /span>>< /span>spring-cloud-dependencie</artifactId< /span>>< /span>
<version< /span>>< /span>Hoxton.SR1</version< /span>>< /span>
<type< /span>>< /span>pom</type< /span>>< /span>
<scope< /span>>< /span>import</scope< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>com.alibaba.cloud</groupId< /span>>< /span>
<artifactId< /span>>< /span>spring-cloud-alibaba-dependencie</artifactId< /span>>< /span>
<version< /span>>< /span>2.1.0.RELEASE</version< /span>>< /span>
<type< /span>>< /span>pom</type< /span>>< /span>
<scope< /span>>< /span>import</scope< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>mysql</groupId< /span>>< /span>
<artifactId< /span>>< /span>mysql-connector-java</artifactId< /span>>< /span>
<version< /span>>< /span>${mysql.version}</version< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>com.alibaba</groupId< /span>>< /span>
<artifactId< /span>>< /span>druid</artifactId< /span>>< /span>
<version< /span>>< /span>$ { druid.version }</version< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>junit</groupId< /span>>< /span>
<artifactId< /span>>< /span>junit</artifactId< /span>>< /span>
<version< /span>>< /span>${junit.version}</version< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>org.projectlombok</groupId< /span>>< /span>
<artifactId< /span>>< /span>lombok</artifactId< /span>>< /span>
<version< /span>>< /span>${lombok.version}</version< /span>>< /span>
</dependency< /span>>< /span>
<dependency< /span>>< /span>
<groupId< /span>>< /span>log4j</groupId< /span>>< /span>
<artifactId< /span>>< /span>log4j</artifactId< /span>>< /span>
<version< /span>>< /span>${log4j.version}</version< /span>>< /span>
</dependency< /span>>< /span>
</dependencie< /span>>< /span>
</dependencyManagement< /span>>< /span>
< /code>< /pre>
3、Maven中DependencyManagement和Dependencies的区别< /h2>
dependencyManagement是Maven中用来管理依赖版本号的方式,通常会在一个组织或者项目的最顶层的父POM看到dependencyManagement元素。< /p>
使用pom.xml中的dependencyManagement元素能让所有子项目引用一个依赖而不用显示的列出版本号。如:< /p>
<dependencie< /span>>< /span>
</dependency< /span>>< /span>
<groupId< /span>>< /span>log4j</groupId< /span>>< /span>
<artifactId< /span>>< /span>log4j</artifactId< /span>>< /span>
</dependency< /span>>< /span>
</dependencie< /span>>< /span>
< /code>< /pre>
这样做的好处是:如果有的个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或切换到另一个版本时,只需要在顶层父工程里更新,而不需要一个一个子项目的修改;另外如果某个子项目需要另外的版本,只需要声明version即可。< /p>
注意:< /p>
- dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖< /li>
- 如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖,才会从父项目中继续该项,并且version和scope都读取子父pom。< /li>
- 如果子项目中定义了版本号,那么会使用子项目中的版本。< /li>
< /ul>