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配置文件

相关推荐
It's now3 小时前
Spring AI 基础开发流程
java·人工智能·后端·spring
cxh_陈3 小时前
线程的状态,以及和锁有什么关系
java·线程·线程的状态·线程和锁
计算机毕设VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue图书商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
R.lin3 小时前
Java 8日期时间API完全指南
java·开发语言·python
毕设源码-赖学姐3 小时前
【开题答辩全过程】以 高校教学质量监控平台为例,包含答辩的问题和答案
java·eclipse
高山上有一只小老虎3 小时前
翻之矩阵中的行
java·算法
火钳游侠4 小时前
java单行注释,多行注释,文档注释
java·开发语言
code bean4 小时前
【CMake】为什么需要清理 CMake 缓存文件?深入理解 CMake 生成器切换机制
java·spring·缓存
selt7914 小时前
Redisson之RedissonLock源码完全解析
android·java·javascript
RestCloud4 小时前
智能制造的底层基建:iPaaS 如何统一 ERP、MES 与 WMS 的数据流
java·wms·erp·数据传输·ipaas·mes·集成平台