安装当前最新版maven笔记

2024-02-29 239点热度 0人点赞 0条评论

gradle 越来越流行,maven 危矣。
记录一下maven的常用配置,留待后用。
前置条件: 本地有java 环境。本人jdk21 已经安装好

安装私服 nexus【非必要】

docker 方式安装测试非常方便
hub.docker.com 搜索nexus3。当前最新版本是 docker pull sonatype/nexus3:3.65.0

mkdir -p /opt/nexus/nexus-data && chmod -R 777 /opt/nexus/nexus-data

docker run -itd -p 18081:8081 \
--name nexus \
-v /opt/nexus/nexus-data:/nexus-data \
-e INSTALL4J_ADD_VM_PARAMS="-Xmx2048m -XX:MaxDirectMemorySize=1024m" \
--restart=always \
--privileged=true \
sonatype/nexus3:3.65.0

# 浏览器打开 http://ip:18081  
# 默认密码 从官方文档查询最新的位置。当前版本在容器目录
docker exec -it nexus sh 

cat /opt/sonatype/sonatype-work/nexus3/admin.password

下载最新版本maven

打开 https://downloads.apache.org/maven/maven-3/ 下载最新的版本
当前最新版本是3.9.6 点击 3.9.6 下载即可

bin.tar.gz.asc 文件主要用来验证文件的完整性。

环境变量

# maven maven环境变量我们习惯配置成MAVEN_HOME,但是gradle寻找的是M2_HOME,so 两个都要。
export M2_HOME=~/development/maven
export MAVEN_HOME=~/development/maven
export PATH=$PATH:$M2_HOME/bin

# 验证是否安装完成
mvn -v

本地 settings.xml(idea 默认使用 ~/.m2/settings.xml)

如果没有私服nexus 可以使用 阿里云 地址.
https://maven.aliyun.com/repository/public

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">

  <localRepository>/Users/mylomen/.m2/repository</localRepository>

  <servers>
    <server>
        <id>nexus</id>
        <username>your_username</username>
        <password>your_pwd</password>
      </server>

      <server>
        <id>your-releases-id</id>
        <username>your_username</username>
        <password>your_pwd</password>
      </server>

      <server>
        <id>your-snapshots-id</id>
        <username>your_username</username>
        <password>your_pwd</password>
      </server>
  </servers>
  <mirrors>
    <mirror>
       <id>nexus</id>
       <mirrorOf>*</mirrorOf>
       <url>https://nexus.your_domain.com/repository/maven-public/</url>
    </mirror>
  </mirrors>

  <profiles>
    <profile>
      <id>dev</id>
       <repositories>
          <repository>
              <id>nexus</id>
              <url>https://nexus.your_domain.com/repository/maven-public/</url>
              <releases>
                    <enabled>true</enabled>
              </releases>
              <snapshots>
                   <enabled>true</enabled>
                   <updatePolicy>always</updatePolicy>
              </snapshots>
          </repository>
      </repositories>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <pluginRepositories>
           <pluginRepository>
               <id>public</id>
               <name>Public Repositories</name>
               <url>https://nexus.your_domain.com/repository/maven-public/</url>
          </pluginRepository>
     </pluginRepositories>
    </profile>
  </profiles>

  <activeProfiles>
      <activeProfile>dev</activeProfile>
  </activeProfiles>
</settings>

常用命令

# 打印所有可用的环境变量和Java系统属性
mvn help:system

# 查看当前环境 maven 使用的 settings.xml 优先级
mvn -X

# 检查当前Maven环境启用的文件
mvn help:effective-settings

# 使用指定的 maven 配置文件执行
mvn -s ~/.m2/settingsV2.xml clean package

# 删除本地编译的文件以及jar
mvn clean

# 编译当前目录下的 pom.xml 文件
mvn compile

# 安装jar 到本地 maven 环境
mvn install

# 安装jar 到远程 nexus 环境(根据配置)
mvn deploy

# 跳过test测试用例打包
mvn clean package -Dmaven.test.skip=true

mylomen

本人从事 JAVA 开发10多年,将之前整理的笔记分享出来,希望能够帮助到努力的你。

文章评论