外观
快速开始
本例创建一个最小 Maven 项目,导入 EFC 项目 BOM,再声明 Guava、公共常量和 Store API。目标是确认依赖版本由平台统一提供,无需启动 Spring Boot 或连接业务服务。
1. 准备环境与构件
准备 Java 25、Maven 3.9+,通过 java -version 和 mvn -version 确认 Maven 实际使用的 JDK。
示例使用 4.1.0-SNAPSHOT。项目仓库或本地 Maven 仓库中需要有完整的平台 POM、Component / Business BOM 及其导入的子 BOM。BOM 模型解析会读取这些 POM,即使本例只添加三个运行时依赖。自行构建源码时先完成本地安装顺序。
2. 创建 POM
在空目录创建 pom.xml:
xml
<?xml version="1.0" encoding="UTF-8"?>
<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.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example</groupId>
<artifactId>efc-dependencies-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<repositories>
<repository>
<id>chenxueli-public</id>
<url>https://nexus.chenxueli.cn/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>chenxueli-public</id>
<url>https://nexus.chenxueli.cn/repository/maven-public/</url>
</pluginRepository>
</pluginRepositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.own</groupId>
<artifactId>springboot-dependencies-project-parent</artifactId>
<version>4.1.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
<groupId>com.own</groupId>
<artifactId>constant</artifactId>
</dependency>
<dependency>
<groupId>com.own.component</groupId>
<artifactId>springboot-component-store-api</artifactId>
</dependency>
</dependencies>
</project>已有项目只需合并 dependencyManagement 和所需 dependencies,保留原来的父 POM。已通过项目父 POM 导入相同版本管理时,无需再重复导入。示例分别配置依赖仓库和 Maven 插件仓库;已有公司 Maven 镜像时按公司配置解析构件,仓库与凭据说明见仓库配置。
3. 检查最终版本
在示例目录执行:
sh
mvn help:effective-pom -Doutput=target/effective-pom.xml
mvn dependency:tree -Dincludes=com.google.guava:guava,com.own:constant,com.own.component:springboot-component-store-api在生成的 target/effective-pom.xml 中查看项目自身的 dependencies,应解析为:
| 坐标 | 版本 |
|---|---|
com.google.guava:guava | 33.6.0-jre |
com.own:constant | 4.1.0-SNAPSHOT |
com.own.component:springboot-component-store-api | 4.1.0-SNAPSHOT |
effective-pom 验证最终 Maven 模型;dependency:tree 进一步查看直接及传递依赖版本。后者需要相关依赖元数据可解析。若提示缺少 SNAPSHOT,先检查仓库或本地安装是否齐全,不要为每个子模块随意补版本。
4. 添加实际需要的能力
按需在 dependencies 中添加版本参考中的坐标。可先运行 Constant 快速开始,验证普通 Java 程序中的列表去重。引入 API 仅提供接口;想在 Spring Boot 中使用 Store,应根据Store 快速开始选择运行时 Starter。接入资源文件等业务模块,还需按业务文档完成环境、配置和数据初始化。
本例只导入依赖版本,不会继承 Java release、Compiler、Surefire 或 Spring Boot 打包插件。需要编译和启动应用时,继续按使用与配置选择构建方案。