一、微服務項目結構
my-microservices-project/
├── pom.xml <!-- 父模塊的pom.xml -->
├── ry-system/
│ ├── pom.xml <!-- 子模塊ry-system的pom.xml -->
│ └── src/main/java/com/example/rysystem/
│ └── RySystemApplication.java <!-- ry-system的啟動類 -->
├── ry-task/
│ ├── pom.xml <!-- 子模塊ry-task的pom.xml -->
│ └── src/main/java/com/example/rytask/
│ └── TaskScheduler.java <!-- 定時任務的類 -->
└── ...
1、所有的子模塊都繼承自父模塊。子模塊parent繼承后,子模塊不需要重新引入父模塊的依賴,parent自動繼承會加入進去。
2、子模塊引入其它子模塊時,依賴不會自動傳遞,每個子模塊需要定義自己的依賴。
3、啟動類模塊需要通過<dependency引入所有的子模塊,才能加載其它子模塊的bean。
4、注意:mappers文件和xml,需要保持相同的包路徑,同時掃描需要使用classpath*。
classpath*可以掃描所有的子模塊類路徑下的文件。
classpath則只掃描當前類路徑下的文件
二、pom文件配置
1、項目基本信息
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-project</artifactId><version>1.0.0</version><packaging>jar</packaging><name>My Project</name><description>This is my Maven project.</description>
</project>
groupId:項目組織或公司的唯一標識符。
artifactId:項目的唯一標識符。
version:項目的版本號。
packaging:項目的打包方式,如 jar、war、pom 等。
name:項目的名稱。
description:項目的描述信息。
2、依賴管理
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.7.0</version></dependency><!-- 其他依賴 -->
</dependencies>
<dependencies:聲明項目的依賴。
每個 <dependency 元素指定一個依賴的 groupId、artifactId 和 version。
3、插件配置
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><!-- 其他插件 --></plugins>
</build>
<build:定義項目的構建配置。
<plugins:聲明項目使用的插件。
每個 <plugin 元素指定一個插件的 groupId、artifactId 和 version,并可以配置插件的參數(如上述例子中的 maven-compiler-plugin 的 Java 版本)。