maven相关配置和命令 #
- maven在解决依赖时,如果依赖的数量过多,编译内存可能不足,这时候需要设置maven import的内存大小。可以在
~/.mavenrc中添加以下内容:其中,export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"-Xmx1024m表示最大堆内存为1024MB,-XX:MaxPermSize=256m表示最大永久代内存为256MB。一般可以开大一点,-Xmx16g,-XX:MaxPermSize=4g - maven的打包命令是其中,
mvn clean package -Dmaven.test.skip=trueclean表示清理之前的编译结果,package表示打包,-Dmaven.test.skip=true表示跳过测试。 打出来的包不会包含一些配置文件,基本只包含一些maven的pom文件和编译好的class文件。如果需要打包成可运行的jar包,需要在pom.xml中配置插件。 - maven打出来的包远程部署的命令是这个命令会将打包好的jar包上传到远程仓库
mvn deploy -Dmaven.test.skip=true - 打包一般
SNAPSHOT是开发版本,RELEASE是正式版本。打包时需要注意版本号的规范,通常使用语义化版本控制(SemVer),如1.0.0、1.0.1-SNAPSHOT等。 - maven并行编译
如果项目中有多个模块,可以使用并行编译来加快编译速度。可以在执行
mvn命令时添加-T参数,例如:其中mvn clean install -T 1C1C表示使用一个 CPU 核心进行编译,2C表示使用两个 CPU 核心,依此类推。 maven deploy只部署一部分jar包:进入子包中,执行命令即可,也可以使用-pl指定其中mvn deploy -pl module1,module2 -Dmaven.test.skip=truemodule1和module2是需要部署的子模块名称。
.mavenrc 文件详解
#
.mavenrc 是一个用于 Maven 构建工具的配置文件,它允许用户在运行 Maven 命令时自定义环境变量或设置。这个文件通常位于用户的家目录(~/.mavenrc)或项目目录中,用于在 Maven 执行前加载特定的配置。
主要作用: #
- 设置环境变量:例如
JAVA_HOME、MAVEN_OPTS(Maven 的 JVM 参数)。 - 自定义 Maven 行为:比如指定默认的 Maven 版本、仓库路径等。
- 预加载命令:在运行
mvn前执行一些 shell 命令。
文件示例: #
# ~/.mavenrc 示例
export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=512m" # 设置 JVM 内存参数
export JAVA_HOME="/path/to/java" # 指定 JDK 路径
注意事项: #
- 文件需有可执行权限(
chmod +x ~/.mavenrc)。 - 如果是 Windows 系统,可以使用
.mavenrc.cmd或.mavenrc.bat替代。 - 优先级高于全局 Maven 配置(如
settings.xml),但低于命令行参数。
适用场景: #
- 需要为所有 Maven 项目统一配置 JVM 参数时。
- 切换不同的 JDK 版本或 Maven 环境。
如果项目中有特定需求(如自定义仓库或插件配置),通常更推荐使用 pom.xml 或 settings.xml。