如何在Apple Silicon Mac上构建跨架构Windows应用兼容层
2026/6/9 14:40:08
分模块设计是在项目设计阶段将一个大型Java项目按功能或结构拆分为多个独立模块,每个模块专注于特定功能或职责,通过依赖管理实现模块间的协作。
| 策略类型 | 说明 | 示例 |
|---|---|---|
| 功能模块拆分 | 按业务功能拆分 | 公共组件、商品模块、搜索模块、购物车模块、订单模块 |
| 按层拆分 | 按技术架构分层 | 公共组件、实体类、控制层、业务层、数据访问层 |
| 功能+层拆分 | 结合两种策略的混合模式 | 商品模块(含自身控制层、业务层、数据访问层)+ 公共组件层 |
<packaging>pom</packaging>)。<<dependencies>中配置子工程通用依赖(如lombok、spring-boot-starter)。<parent>标签指定父工程坐标及相对路径。<dependencyManagement>标签管理版本,子工程引入依赖时无需指定版本。<!-- 父工程:统一管理JWT版本 --><dependencyManagement><<dependencies><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency></</dependencies></dependencyManagement><!-- 子工程:直接引入,无需版本 --><<dependencies><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId></dependency></</dependencies><properties>定义版本属性,统一维护。<properties><lombok.version>1.18.34</lombok.version><jwt.version>0.9.1</jwt.version></properties><<dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency></</dependencies>| 标签 | 作用 | 特点 |
|---|---|---|
<<dependencies> | 直接依赖 | 子工程自动继承,无需再次引入 |
<dependencyManagement> | 版本管理 | 仅锁定版本,子工程需手动引入依赖 |
<modules>标签指定子模块路径。<modules><module>../tlias-pojo</module><module>../tlias-utils</module><module>../tlias-web-management</module></modules>| 维度 | 继承 | 聚合 |
|---|---|---|
| 核心作用 | 简化依赖配置、统一版本 | 一键构建项目 |
| 配置位置 | 子工程配置父工程 | 聚合工程配置子模块 |
| 打包方式 | 均为pom | 均为pom |
| 模块性质 | 设计型模块,无业务代码 | 设计型模块,无业务代码 |
本地仓库 → 私服仓库 → 中央仓库
<servers><server><id>maven-releases</id><username>admin</username><password>admin</password></server><server><id>maven-snapshots</id><username>admin</username><password>admin</password></server></servers><mirrors><mirror><id>maven-public</id><mirrorOf>*</mirrorOf><url>http://localhost:8081/repository/maven-public/</url></mirror></mirrors><profiles><profile><id>allow-snapshots</id><activation><activeByDefault>true</activeByDefault></activation><repositories><repository><id>maven-public</id><url>http://localhost:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile></profiles><distributionManagement><repository><id>maven-releases</id><url>http://localhost:8081/repository/maven-releases/</url></repository><snapshotRepository><id>maven-snapshots</id><url>http://localhost:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>在父工程执行mvn deploy,自动将所有子模块上传到对应私服仓库(SNAPSHOT/RELEASE)。
<dependencyManagement>与<<dependencies>的区别?<<dependencies>:子工程自动继承依赖,直接生效。<dependencyManagement>:仅统一版本,子工程需手动引入依赖。