Bootstrap

离线部署maven项目笔记(2)

maven clean package 命令在构建时不仅依赖 ~/.m2/repository 中的本地仓库,还依赖以下几个文件:

  1. pom.xml:这是 Maven 项目的核心文件,定义了项目依赖、插件、配置等信息。maven clean package 会根据 pom.xml 中的依赖和配置进行构建。

  2. 项目源码文件:主要包括 src/main/javasrc/main/resources 目录下的文件,构建过程中会编译和打包这些文件。

  3. settings.xml(可选):位于 ~/.m2/settings.xml 或 Maven 安装目录下的 conf/settings.xml,如果项目构建时有一些特殊配置,比如私有仓库、代理等,这些信息会从 settings.xml 中读取。

  4. 依赖的 JAR 包:Maven 会根据 pom.xml 中定义的依赖从本地仓库 ~/.m2/repository 加载 JAR 文件。如果本地仓库中缺少某些依赖,Maven 会尝试从远程仓库下载。

~/.m2/repository 只是 Maven 加载依赖包的路径之一。

在离线服务器上进行打包,您可以将联网服务器上的 Maven 本地仓库拷贝过去,确保所有的依赖都可以在离线环境中使用。具体步骤如下:

  1. 复制本地仓库:在联网服务器上,Maven 的本地仓库通常位于 ~/.m2/repository。将整个 repository 目录复制出来,这个目录包含了项目所需的所有依赖 JAR 文件。

  2. 准备pom.xml文件:确保在离线服务器上有与联网服务器相同的 pom.xml,以确保构建过程的一致性。

  3. 复制到光盘:将 repository 文件夹和 pom.xml 复制到一个可移动的存储设备,比如光盘或 U 盘,然后将它们传输到离线服务器上。

  4. 配置本地仓库路径:在离线服务器上,将 repository 文件夹复制到 ~/.m2 目录下。然后在 settings.xml 中配置这个本地仓库路径,确保 Maven 可以从本地读取依赖,而不再尝试访问网络。

  5. 离线打包:在离线服务器上进入项目根目录,执行 mvn clean package -o-o 表示 offline 离线模式),Maven 将从本地仓库读取依赖进行构建。

这样可以确保项目在离线服务器上完成打包。

;