先来看一下这个超级pom.xml的定义:
<project>
<modelVersion>4.0.0</modelVersion>
<name>Maven Default Project</name>
<repositories>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<layout>default</layout>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Maven Plugin Repository</name>
<url>http://repo1.maven.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
<build>
<directory>${project.basedir}/target</directory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<!-- TODO: MNG-3731 maven-plugin-tools-api < 2.4.4 expect this to be relative... -->
<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-2</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.0</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.3.1</version>
</plugin>
<plugin>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.1</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<artifactId>maven-plugin-plugin</artifactId>
<version>2.4.3</version>
</plugin>
<plugin>
<artifactId>maven-rar-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-8</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.0-beta-7</version>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.0.4</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.3</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<outputDirectory>${project.build.directory}/site</outputDirectory>
</reporting>
<profiles>
<profile>
<id>release-profile</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
子pom.xml会完全继承父pom.xml中所有的元素,而且对于相同的元素,一般子pom.xml中的会覆盖父pom.xml中的元素,但是有几个特殊的元素它们会进行合并而不是覆盖。这些特殊的元素是:
Ø dependencies
Ø developers
Ø contributors
Ø plugin列表,包括plugin下面的reports
Ø resources
相关推荐
**Maven实战——许晓斌完整版** Maven是一个强大的项目管理和构建工具,广泛应用于Java开发领域。由Apache Software Foundation维护,它简化了构建过程,通过一个统一的配置方式管理项目的构建、报告和依赖关系。...
- **Maven实战——入门篇**:这本书的入门部分,引导读者快速上手Maven,理解基本概念和操作。 - **MAVEN使用最佳实践.doc**:可能包含更具体的项目构建、部署和团队协作的最佳实践指导。 以上只是对Maven基础...
**Maven实战——深入理解与应用** Maven是一款强大的Java项目管理工具,它通过XML格式的配置文件,统一管理项目的构建、报告以及依赖关系。在本文中,我们将深入探讨Maven实战中的关键概念,包括安装配置、项目构建...
《Maven实战》一书是针对Java开发人员深入学习和应用Maven构建工具的重要参考资料。Maven是一个项目管理和综合工具,它简化了构建、管理和部署Java项目的过程,通过标准化项目结构和自动化构建生命周期来实现这一...
### Maven实战 (Maven In Action) —— 关键知识点概览 #### 1. Maven简介与背景 **Maven** 是一款广泛应用于Java项目中的自动化构建工具,它以一种项目对象模型(POM)来管理项目的构建、报告和文档。通过简化项目...
### Maven实战知识点详解 #### 一、Maven简介与历史背景 Maven 是一个项目管理和理解工具,最初由 Sonatype 开发,后被 Apache 软件基金会接收并成为其顶级项目之一。它通过一系列标准的过程来管理项目的构建、报告...
### Maven3实战笔记08——Maven反应堆:深度解析与实战应用 #### Maven反应堆的概念与作用 在深入探讨Maven反应堆之前,我们首先需要理解Maven项目是如何组织和构建的。Maven是一种自动化构建工具,它通过定义项目...
### Maven实战(中文版)——关键知识点解析 #### 一、Maven简介 Maven是一款由Apache软件基金会提供的项目管理和构建工具,它基于项目对象模型(Project Object Model, POM),通过一小段描述信息来管理项目的构建...
4. **Maven项目结构**:pom.xml文件是Maven项目的配置文件,定义了项目的依赖关系、构建过程等。通过Maven,开发者可以方便地管理项目依赖,统一构建过程,提高开发效率。 5. **高并发处理**:在秒杀API的设计中,...
《基于SSM的实战项目——图书管理系统》是一个典型的JavaWeb应用程序,主要采用了Spring、SpringMVC和MyBatis三大框架,旨在提供一个完整的图书管理解决方案。这个项目源码适合用作学习材料,无论是毕业设计还是课程...
Maven3培训教程.pdf Maven实战.pdf MavenQuickReferenceCard.pdf MavenTheDefinitiveGuide.pdf Maven学习.doc 持续集成之路——搭建Maven私服.doc 利用m2eclipse生成WTP项目.pdf
Maven实战部分涵盖了从创建简单项目到定制多模块企业级项目的全过程。以创建一个简单的Maven项目为例,首先需定义项目的目标和依赖,然后编写项目对象模型(POM)文件,其中包含了项目的基本信息、构建配置和依赖...
- **Maven**:Apache Maven是一款基于项目对象模型(POM)的软件项目管理和理解工具。通过一系列标准生命周期构建项目,简化了项目的构建、依赖管理和文档生成等工作。 - **Nexus**:Nexus Repository Manager是一个...
POM是一个XML文件,包含了项目的基本信息,如项目名称、版本、开发者信息,以及最重要的——项目依赖。通过定义POM,Maven可以理解项目结构,并自动执行构建过程。 **添加依赖** 在POM.xml文件中,我们可以添加`...
《Maven实战》是一本实践导向的书籍,涵盖了Maven在实际项目中的应用,包括设置环境变量、配置构建服务器、集成持续集成工具如Jenkins,以及使用Maven进行部署。此外,它还介绍了一些高级话题,如使用Maven进行敏捷...
【标签】"captured7ne eclipse_mavenhelper maven"暗示了这个压缩包可能包含了Eclipse的一个插件——Maven Helper,这是一个Eclipse IDE的辅助工具,它可以帮助用户更好地理解和管理Maven项目中的依赖关系,例如显示...
本文探讨了Maven在Java项目中的重要角色——通过详细介绍POM、JAR以及WAR的含义及应用场景来引导读者理解和区分这些常用的概念。进一步地,在一个完整的示例项目的基础上,展示了具体的代码细节以及从源码编辑直至...