文章Maven, not just another build tool声称* Maven将面向对象的方法引入构建工具表。我完全没有看到如何。实际上,我看不到任何OO concept,也没有看到任何我称之为对象的东西。
我不是在这里开始另一个rant,我只想问一下如何支持这种说法。
答案 0 :(得分:0)
Maven模块可以从其他maven模块继承,但它们继承的内容往往是构建和配置元数据的指令,不它们应用这些指令的文件。通常,父模块由类型pom
完成(即,没有标准结果假象),并且容器模块也以这种方式完成。事实上,容器通常也是父母,即使我怀疑这不是一种很好的做事方式(尽管遏制关系不继承)。
继承的东西将类似于要使用的依赖项的版本,或者插件的配置,或者存储库的位置,从哪里获取依赖项或者结果伪像将被推。实际上,所有Maven模块都自动从内置的POM继承,后者提供了大量此类信息。通过获取 有效POM ,您可以了解所有此继承对整个特定模块的整体影响:
mvn help:effective-pom
(如果您已将Maven集成到IDE中,则必须四处寻找如何查找此信息。例如,使用Eclipse,有效的POM位于Maven POM编辑器视图中的单独选项卡上。 )
答案 1 :(得分:0)
POM代表“项目对象模型”。它是一个名为pom.xml的文件中的Maven项目的XML表示形式。
Maven的一个强大方面是处理项目关系;包括依赖项(和传递依赖项),继承和聚合(多模块项目)。
Maven有许多OO概念,包括:
聚合 - 多模块项目
继承 - 父项目
在Maven项目中是一个对象,模块是一个对象,项目可以依赖于其他项目。