离线环境构建 SpringBoot
1. 在线环境准备工作
1.1 准备 Maven 本地仓库
- 在有网络的环境下,使用以下命令下载所有依赖:
mvn dependency:go-offline - 完整构建一次项目:
mvn clean install -DskipTests - 找到本地 Maven 仓库位置(通常在):
- Windows: C:\Users{用户名}.m2\repository
- Linux: ~/.m2/repository
- 导出项目依赖清单:
mvn dependency:list > dependencies.txt
1.2 下载离线包
- 下载 Maven 离线包:
- 访问 https://maven.apache.org/download.cgi
- 下载 apache-maven-{版本}-bin.zip
- 下载 JDK 离线包:
- 访问 https://adoptium.net/
- 下载对应版本的 JDK 安装包
- 打包本地仓库:
tar -czf repository.tar.gz ~/.m2/repository
2. 离线环境搭建
2.1 安装 JDK
- 解压 JDK:
tar -xzf jdk-xxx.tar.gz -C /usr/local/ - 配置环境变量,编辑 /etc/profile:
export JAVA_HOME=/usr/local/jdk-xxx
export PATH=JAVA_HOME/bin:PATH - 使环境变量生效:
source /etc/profile
2.2 安装 Maven
- 解压 Maven:
unzip apache-maven-xxx-bin.zip -d /usr/local/ - 配置环境变量,编辑 /etc/profile:
export MAVEN_HOME=/usr/local/apache-maven-xxx
export PATH=MAVEN_HOME/bin:PATH - 使环境变量生效:
source /etc/profile
2.3 配置本地仓库
- 解压之前打包的 repository:
tar -xzf repository.tar.gz -C ~/.m2/ - 配置 Maven 设置,编辑 ~/.m2/settings.xml:
3. 项目构建
3.1 多模块项目结构示例
project-root/
├── pom.xml
├── common/
│ └── pom.xml
├── service/
│ └── pom.xml
└── web/
└── pom.xml
3.2 构建命令
- 在项目根目录执行:
mvn clean install -DskipTests -o
参数说明:
- -o: 离线模式
- -DskipTests: 跳过测试
- clean: 清理之前的构建
- install: 安装到本地仓库
4. 常见问题处理
4.1 依赖缺失
- 记录缺失的依赖
- 在有网络的环境下下载缺失的 jar 包
- 手动复制到离线环境的 Maven 仓库对应位置
4.2 版本冲突
- 使用 mvn dependency:tree 分析依赖树
- 在 pom.xml 中使用
排除冲突的依赖 - 统一依赖版本管理
4.3 构建失败处理
- 检查日志确定失败原因
- 常见原因:
- 缺少依赖
- 版本不匹配
- 仓库文件损坏
5. 最佳实践
5.1 依赖管理
- 使用依赖管理节点统一版本,在父 pom.xml 中添加:
dependencyManagement 节点下添加:
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import
5.2 版本控制
- 在父 pom 中统一管理版本号,在 properties 节点下添加:
java.version: 11
spring-boot.version: 2.7.0
mybatis.version: 2.2.2
5.3 打包策略
- 在 build 节点的 plugins 下添加 spring-boot-maven-plugin:
org.springframework.boot
spring-boot-maven-plugin
6. 注意事项
[后续内容保持不变...]
评论区