maven clean package
命令在构建时不仅依赖 ~/.m2/repository
中的本地仓库,还依赖以下几个文件:
-
pom.xml
:这是 Maven 项目的核心文件,定义了项目依赖、插件、配置等信息。maven clean package
会根据pom.xml
中的依赖和配置进行构建。 -
项目源码文件:主要包括
src/main/java
和src/main/resources
目录下的文件,构建过程中会编译和打包这些文件。 -
settings.xml
(可选):位于~/.m2/settings.xml
或 Maven 安装目录下的conf/settings.xml
,如果项目构建时有一些特殊配置,比如私有仓库、代理等,这些信息会从settings.xml
中读取。 -
依赖的 JAR 包:Maven 会根据
pom.xml
中定义的依赖从本地仓库~/.m2/repository
加载 JAR 文件。如果本地仓库中缺少某些依赖,Maven 会尝试从远程仓库下载。
~/.m2/repository
只是 Maven 加载依赖包的路径之一。
在离线服务器上进行打包,您可以将联网服务器上的 Maven 本地仓库拷贝过去,确保所有的依赖都可以在离线环境中使用。具体步骤如下:
-
复制本地仓库:在联网服务器上,Maven 的本地仓库通常位于
~/.m2/repository
。将整个repository
目录复制出来,这个目录包含了项目所需的所有依赖 JAR 文件。 -
准备
pom.xml
文件:确保在离线服务器上有与联网服务器相同的pom.xml
,以确保构建过程的一致性。 -
复制到光盘:将
repository
文件夹和pom.xml
复制到一个可移动的存储设备,比如光盘或 U 盘,然后将它们传输到离线服务器上。 -
配置本地仓库路径:在离线服务器上,将
repository
文件夹复制到~/.m2
目录下。然后在settings.xml
中配置这个本地仓库路径,确保 Maven 可以从本地读取依赖,而不再尝试访问网络。 -
离线打包:在离线服务器上进入项目根目录,执行
mvn clean package -o
(-o
表示 offline 离线模式),Maven 将从本地仓库读取依赖进行构建。
这样可以确保项目在离线服务器上完成打包。