标签:java maven coordinate
作为依赖管理工具,Maven定义了坐标用于唯一标识构件在仓库中的位置,构成了依赖管理的底层基础。<groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>3.2.5.RELEASE</version>根据坐标的知识可以得出:
1. 为什么要在groupId末尾加上实际项目名称?假设一个公司的多个Maven项目都包含子模块:
A项目 <groupId>org.company</groupId> <artifactId>projectA</artifactId> A项目子模块1 <groupId>org.company</groupId> <artifactId>projectA-module1</artifactId> A项目子模块2 <groupId>org.company</groupId> <artifactId>projectA-module2</artifactId> B项目 <groupId>org.company</groupId> <artifactId>projectB</artifactId> B项目子模块 <groupId>org.company</groupId> <artifactId>projectB-module</artifactId>如果不在groupId末尾加上实际项目名称,那么两个项目的构件在仓库中都位于org/company目录下,子模块将难以区分。
2. 为什么要在artifactId前面加上实际项目名称?假设在Maven项目声明了多个依赖:
A项目 <groupId>org.company.projectA</groupId> <artifactId>core</artifactId> <version>1.0.0</version> B项目 <groupId>org.company.projectB</groupId> <artifactId>core</artifactId> <version>1.0.0</version>如果不在artifactId前面加上实际项目名称,那么两个构件在Maven Dependency都显示为core-1.0.0.jar,构件将难以区分。
标签:java maven coordinate
原文地址:http://blog.csdn.net/magnificent_tony/article/details/43852451