欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Maven(Ⅲ)继承和聚合

Maven(Ⅲ)继承和聚合

2025/2/7 14:01:54 来源:https://blog.csdn.net/new_light123/article/details/139565892  浏览:    关键词:Maven(Ⅲ)继承和聚合

Maven继承

概念

Maven继承主要用于管理项目的公共配置,如依赖、插件等。通过继承,子项目可以复用父项目的配置,减少重复代码,提高项目的可维护性。一个父项目可以有多个子项目,子项目可以继承父项目的 groupIdversion、依赖、插件配置等信息。

示例代码
父项目 parent-project

首先,创建一个 Maven 项目作为父项目,其 pom.xml 配置如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>parent-project</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><!-- 公共依赖 --><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency></dependencies><!-- 公共插件 --><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>

注意,父项目的 packaging 标签值为 pom,表示这是一个项目对象模型,不生成具体的构件。

子项目 child-project

创建一个子项目,其 pom.xml 配置如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!-- 继承父项目 --><parent><groupId>com.example</groupId><artifactId>parent-project</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>child-project</artifactId><!-- 可以添加额外的依赖 --><dependencies><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency></dependencies>
</project>

子项目通过 <parent> 标签指定父项目的 groupIdartifactIdversion,从而继承父项目的配置。

Maven 聚合

概念

Maven 聚合用于将多个相关的项目作为一个整体进行构建。通过聚合,开发者可以一次性构建多个项目,提高开发效率。聚合项目的 pom.xml 会列出所有要聚合的子项目,Maven 会按照指定的顺序依次构建这些子项目。

示例代码
聚合项目 aggregation-project

创建一个 Maven 项目作为聚合项目,其 pom.xml 配置如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>aggregation-project</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><!-- 列出要聚合的子项目 --><modules><module>module1</module><module>module2</module></modules>
</project>

注意,聚合项目的 packaging 标签值也为 pom<modules> 标签列出了要聚合的子项目,子项目的名称是相对于聚合项目的目录名。

子项目 module1

创建子项目 module1,其 pom.xml 配置如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>module1</artifactId><version>1.0-SNAPSHOT</version>
</project>
子项目 module2

创建子项目 module2,其 pom.xml 配置如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>module2</artifactId><version>1.0-SNAPSHOT</version>
</project>

总结

Maven 继承主要用于代码复用,减少重复配置;Maven 聚合主要用于提高构建效率,一次性构建多个项目。在实际项目中,两者可以结合使用,以更好地管理项目结构和配置。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com