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

相关推荐
森叶1 分钟前
Java NIO & Java 虚拟线程(微线程)与 Go 协程的运行原理不同 为何Go 能在低配机器上承接10万 Websocket 协议连接
java·websocket·nio
程序员小蘇20 分钟前
一天一个java知识点----Tomcat与Servlet
java·servlet·tomcat
Moso_Rx37 分钟前
JavaEE——线程安全
java·安全·java-ee
岁岁岁平安1 小时前
SpringMVC入门学习总结(2025.04.16)
java·spring·java-ee·mvc·springmvc
日月星辰Ace1 小时前
@JsonProperty 用于构造方法和属性
java
日月星辰Ace2 小时前
@TestPropertySource 造成 SpringBoot Test 中对同一个 Bean 使用不同实例
java·spring boot
SimonKing2 小时前
短信被截断?5分钟用Java打造企业级短链服务
java·后端·架构
XuanXu2 小时前
SpringBoot3.0启动流程研究
java·spring boot
hp.puppy3 小时前
kali下maven 的安装与配置
java·maven
碎梦归途3 小时前
23种设计模式-创建型模式之工厂方法模式(Java版本)
java·设计模式·工厂方法模式