如何理解maven是用maven构建的?

如何理解maven是用maven构建的?,maven,Maven,出于对maven工作原理的好奇,我查看了它的源代码。令人惊讶的是,maven模块是由maven自己构建的。有人能帮我理解这是怎么可能的吗 确切地说,用于构建maven源代码的maven二进制文件是如何编译的?如注释所示,原始版本可能是由不同的编译器编译的,但随后的版本已经启动 编辑:如前所述,我指的是构建,而不是编译。我的错误是Maven是一个依赖关系管理工具(大大简化了视图,但对于我们的目的来说是准确的:) 如果您有任何其他管理依赖项的方法(例如,在目录中放置一堆JAR并将它们包含在类路径中)

出于对maven工作原理的好奇,我查看了它的源代码。令人惊讶的是,maven模块是由maven自己构建的。有人能帮我理解这是怎么可能的吗


确切地说,用于构建maven源代码的maven二进制文件是如何编译的?

如注释所示,原始版本可能是由不同的编译器编译的,但随后的版本已经启动


编辑:如前所述,我指的是构建,而不是编译。我的错误是Maven是一个依赖关系管理工具(大大简化了视图,但对于我们的目的来说是准确的:)

如果您有任何其他管理依赖项的方法(例如,在目录中放置一堆JAR并将它们包含在类路径中),那么构建二进制文件不需要Maven的这一方面


可以这样想:使用Maven构建的任何东西都可以在没有Maven的情况下通过手动包含依赖项来构建。或者使用另一个构建工具。或等等。

我相信Maven从一开始就不是由Maven管理的,但可能是在经过几周/几个月的开发之后,那时它已经足够成熟,可以做一些基本的事情,比如调用编译器等。另一个例子是Git,它的源代码是在Linus Torvalds经过4天的开发之后用Git编写的。你知道,鸡蛋或鸡肉排在第一位……;)

非常感谢这个链接,非常有用。我打赌是同一个编译器<代码>javac。本的意思不那么微妙,显然是构建而不是编译。