我们都知道,任何一个项目的POM都至少继承自Maven内置的超级POM,有些项目中用户还会配置自己的继承层次。也就是说,单从当前的POM是无法全面了解项目信息的,你必须同时查看所有父POM。Maven有一个Effective POM的概念,它表示一个合并整个继承结构所有信息的POM。假设项目A继承自项目B,而B又隐式地继承自超级POM,那么A的Effective POM就包含了所有A、B以及超级POM的配置。有了Effective POM,用户就能一次得到完整的POM信息。
Maven用户可以直接从命令行获得Effective POM:
在m2eclipse的POM编辑器中,有一项专门的Effective POM,用户可以直接查看当前项目的Effective POM,如图16-26所示。当然,由于这是一个由其他POM合并而来的文件,你将无法对其直接进行修改。
图16-26 Effective POM