侧边栏壁纸
博主头像
winson的blog博主等级

行动起来,活在当下

  • 累计撰写 31 篇文章
  • 累计创建 37 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

离线环境构建 SpringBoot

winson
2025-02-09 / 0 评论 / 0 点赞 / 4 阅读 / 4554 字

离线环境构建 SpringBoot

1. 在线环境准备工作

1.1 准备 Maven 本地仓库

  1. 在有网络的环境下,使用以下命令下载所有依赖:
    mvn dependency:go-offline
  2. 完整构建一次项目:
    mvn clean install -DskipTests
  3. 找到本地 Maven 仓库位置(通常在):
  • Windows: C:\Users{用户名}.m2\repository
  • Linux: ~/.m2/repository
  1. 导出项目依赖清单:
    mvn dependency:list > dependencies.txt

1.2 下载离线包

  1. 下载 Maven 离线包:
  • 访问 https://maven.apache.org/download.cgi
  • 下载 apache-maven-{版本}-bin.zip
  1. 下载 JDK 离线包:
  • 访问 https://adoptium.net/
  • 下载对应版本的 JDK 安装包
  1. 打包本地仓库:
    tar -czf repository.tar.gz ~/.m2/repository

2. 离线环境搭建

2.1 安装 JDK

  1. 解压 JDK:
    tar -xzf jdk-xxx.tar.gz -C /usr/local/
  2. 配置环境变量,编辑 /etc/profile:
    export JAVA_HOME=/usr/local/jdk-xxx
    export PATH=JAVA_HOME/bin:PATH
  3. 使环境变量生效:
    source /etc/profile

2.2 安装 Maven

  1. 解压 Maven:
    unzip apache-maven-xxx-bin.zip -d /usr/local/
  2. 配置环境变量,编辑 /etc/profile:
    export MAVEN_HOME=/usr/local/apache-maven-xxx
    export PATH=MAVEN_HOME/bin:PATH
  3. 使环境变量生效:
    source /etc/profile

2.3 配置本地仓库

  1. 解压之前打包的 repository:
    tar -xzf repository.tar.gz -C ~/.m2/
  2. 配置 Maven 设置,编辑 ~/.m2/settings.xml:
${user.home}/.m2/repository true local-repository Local Repository file://${user.home}/.m2/repository *

3. 项目构建

3.1 多模块项目结构示例

project-root/
├── pom.xml
├── common/
│ └── pom.xml
├── service/
│ └── pom.xml
└── web/
└── pom.xml

3.2 构建命令

  1. 在项目根目录执行:
    mvn clean install -DskipTests -o

参数说明:

  • -o: 离线模式
  • -DskipTests: 跳过测试
  • clean: 清理之前的构建
  • install: 安装到本地仓库

4. 常见问题处理

4.1 依赖缺失

  1. 记录缺失的依赖
  2. 在有网络的环境下下载缺失的 jar 包
  3. 手动复制到离线环境的 Maven 仓库对应位置

4.2 版本冲突

  1. 使用 mvn dependency:tree 分析依赖树
  2. 在 pom.xml 中使用排除冲突的依赖
  3. 统一依赖版本管理

4.3 构建失败处理

  1. 检查日志确定失败原因
  2. 常见原因:
    • 缺少依赖
    • 版本不匹配
    • 仓库文件损坏

5. 最佳实践

5.1 依赖管理

  1. 使用依赖管理节点统一版本,在父 pom.xml 中添加:

dependencyManagement 节点下添加:
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import

5.2 版本控制

  1. 在父 pom 中统一管理版本号,在 properties 节点下添加:
    java.version: 11
    spring-boot.version: 2.7.0
    mybatis.version: 2.2.2

5.3 打包策略

  1. 在 build 节点的 plugins 下添加 spring-boot-maven-plugin:
    org.springframework.boot
    spring-boot-maven-plugin

6. 注意事项

[后续内容保持不变...]

0

评论区