Maven源码阅读(一)

获取源码

apache maven官网地址:https://maven.apache.org/

不用点击,页面往下滚动,你会看到

找到源码地址,最终都是github:https://github.com/apache/maven

被墙了,可以用gitcode:https://gitcode.net/mirrors/apache/maven

也可以把github上的导入到gitee,我的仓库

克隆到本地,用idea打开

配置环境

没错,maven源码编译也需要maven仓库

配置之后,拉取源码的对应分支。

当前maven已经到maven-4.0.0-alpha-7版本,这里拉取maven-3.9.1版本

然后跳过测试,清理(clean)编译(compile)

预备知识

从mvn命令行看起,所以得会点脚本知识

先找个博客:https://blog.csdn.net/feinifi/article/details/127930417看看

再写几个demo大致明白一点点语法,回来看maven

开始看脚本

连蒙带猜到这一行

bat 复制代码
"%JAVACMD%" ^
  %JVM_CONFIG_MAVEN_PROPS% ^
  %MAVEN_OPTS% ^
  %MAVEN_DEBUG_OPTS% ^
  -classpath %CLASSWORLDS_JAR% ^
  "-Dclassworlds.conf=%MAVEN_HOME%\bin\m2.conf" ^
  "-Dmaven.home=%MAVEN_HOME%" ^
  "-Dlibrary.jansi.path=%MAVEN_HOME%\lib\jansi-native" ^
  "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
  %CLASSWORLDS_LAUNCHER% %MAVEN_ARGS% %MAVEN_CMD_LINE_ARGS%
if ERRORLEVEL 1 goto error
goto end

大致一丝,就是设置类路径,设置maven.home,设置寻找java.home,以及指定m2.conf配置文件

相关推荐
代码不停4 分钟前
Spring Boot快速入手
java·spring boot·后端
-Excalibur-7 分钟前
关于计算机网络当中的各种计时器
java·c语言·网络·c++·笔记·python·计算机网络
小宇的天下7 分钟前
Calibre nmDRC 运行机制与规则文件(13-1)
java·开发语言·数据库
阿拉斯攀登8 分钟前
设计模式:实战概要
java·设计模式
阿拉斯攀登8 分钟前
设计模式:工厂模式概要
java·设计模式·抽象工厂模式
曹轲恒9 分钟前
Java Collections & Arrays 工具类
java
.卡10 分钟前
(022)FastJson 序列化导致的 java.util.ConcurrentModificationException
java
武子康10 分钟前
Java-218 RocketMQ Java API 实战:同步/异步 Producer 与 Pull/Push Consumer
java·大数据·分布式·消息队列·rocketmq·java-rocketmq·mq
不爱吃米饭_11 分钟前
Spring Security、Apache Shiro、Sa-Token,主流安全框架如何选择?
java·安全
我命由我1234511 分钟前
Java 开发 - 含有 null 值字段的对象排序(自定义 Comparator、使用 Comparator、使用 Stream API)
java·开发语言·学习·java-ee·intellij-idea·学习方法·intellij idea