maven相关配置和命令

maven相关配置和命令 #

  1. maven在解决依赖时,如果依赖的数量过多,编译内存可能不足,这时候需要设置maven import的内存大小。可以在~/.mavenrc中添加以下内容:
    export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
    
    其中,-Xmx1024m表示最大堆内存为1024MB,-XX:MaxPermSize=256m表示最大永久代内存为256MB。一般可以开大一点,-Xmx16g,-XX:MaxPermSize=4g
  2. maven的打包命令是
    mvn clean package -Dmaven.test.skip=true
    
    其中,clean表示清理之前的编译结果,package表示打包,-Dmaven.test.skip=true表示跳过测试。 打出来的包不会包含一些配置文件,基本只包含一些maven的pom文件和编译好的class文件。如果需要打包成可运行的jar包,需要在pom.xml中配置插件。
  3. maven打出来的包远程部署的命令是
    mvn deploy -Dmaven.test.skip=true
    
    这个命令会将打包好的jar包上传到远程仓库
  4. 打包一般SNAPSHOT是开发版本,RELEASE是正式版本。打包时需要注意版本号的规范,通常使用语义化版本控制(SemVer),如 1.0.01.0.1-SNAPSHOT 等。
  5. maven并行编译 如果项目中有多个模块,可以使用并行编译来加快编译速度。可以在执行 mvn 命令时添加 -T 参数,例如:
    mvn clean install -T 1C
    
    其中 1C 表示使用一个 CPU 核心进行编译,2C 表示使用两个 CPU 核心,依此类推。
  6. maven deploy只部署一部分jar包:进入子包中,执行命令即可,也可以使用-pl指定
    mvn deploy -pl module1,module2 -Dmaven.test.skip=true
    
    其中 module1module2 是需要部署的子模块名称。

.mavenrc 文件详解 #

.mavenrc 是一个用于 Maven 构建工具的配置文件,它允许用户在运行 Maven 命令时自定义环境变量或设置。这个文件通常位于用户的家目录(~/.mavenrc)或项目目录中,用于在 Maven 执行前加载特定的配置。

主要作用: #

  1. 设置环境变量:例如 JAVA_HOMEMAVEN_OPTS(Maven 的 JVM 参数)。
  2. 自定义 Maven 行为:比如指定默认的 Maven 版本、仓库路径等。
  3. 预加载命令:在运行 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.xmlsettings.xml