存储库和坐标
Maven 2 存储库存储 Maven 在一个项目的依赖项解析中使用过的工件集。在本地磁盘上访问本地存储库,通过网络访问远程存储库。
工件通常被打包成包含二进制库或可执行库的 JAR 文件。这被认为是工件的一个类型。但在实践中,工件也可以是 WAR、EAR 或其他代码捆绑类型。
Maven 2 利用操作系统的目录结构对存储在存储库中的工件集进行快速索引。这个存储库索引系统依赖于这种能力来通过工件的坐标 惟一标识工件。
Maven 坐标
Maven 坐标是一组可以惟一标识工件的三元组值。坐标包含了下列三条信息:
*
组 ID:代表制造该工件的实体或组织。例如,com.ibm.devworks 就是一个组 ID。
*
工件 ID:实际的工件的名称。例如,主体类名为 OpsImp 的项目也许会用 OpsImp 作为其工件 ID。
*
版本:该工件的版本号。支持的格式为 mmm.nnn.bbb-qqqqqqq-dd ,其中, mmm 是主版本号, nnn 是次版本号, bbb 代表其 bug 修复水平。 qqqqq (限定词)或 dd (构建号)也能添加到版本号中,这两项是可选项。
对 Maven 坐标的使用贯穿于 Maven 配置文件和 POM 文件中。例如,要在命名为 OpsImp 的模块上指定项目依赖项(在 1.0-SNAPSHOT 级别),pom.xml 文件应包含清单 1 所示的部分:
清单 1. OpsImp 样例模块的 Maven 坐标
<dependencies>
<dependency>
<groupId>com.ibm.devworks</groupId>
<artifactId>OpsImp</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
特别限定词 SNAPSHOT 告诉 Maven 2:该项目或模块还处于开发状态中,它应该获取最新版的可用工件。
要将该项目指定为依赖于 JUnit 进行单元测试,可以将 JUnit 3.8.1 的坐标作为一个依赖项添加到该项目的 pom.xml 文件中,如清单 2 所示:
清单 2. JUnit 依赖项的 Maven 坐标
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
深入 Maven 存储库
由于 Maven 存储库是普通的目录树,所以可以很容易地看到工件是如何存储到磁盘上的。图 3 是本地存储库的一部分,显示了 JUnit 3.8.1 工件的位置:
图 3. Maven 2 存储库内幕
从图 3 中可以看出,Maven 维护了一个工件的 POM 文件,同时也为该工件和其存储库中的 POM 维护了检验和散列。当工件在存储库间转移时,这些文件帮助确保工件的完整性。该工件已由 Maven 的依赖项管理引擎从中央存储库下载并放置到本地存储库中。
在图 4 中,坐标为 com.ibm.devworks/OpsImp/1.0-SNAPSHOT 的工件显示在本地存储库中。该工件和 POM 文件一起存放在存储库。在本例中,该工件在本地安装。
图 4. 本地存储库中的 OpsImp 工件
- 大小: 7.8 KB
- 大小: 5.6 KB
分享到:
相关推荐
这个库通常包含了算法和函数,能够自动或者手动地对经纬度坐标进行校正,使得在百度地图上显示的位置与实际地理位置更加吻合。它主要适用于那些基于百度地图API开发的应用,例如导航软件、定位服务、地理信息系统等...
Python作为标签出现,意味着数据的处理和分析可能采用了Python编程语言,因为Python在数据处理和Web爬虫领域有丰富的库支持,如BeautifulSoup、Scrapy和Pandas等。 在压缩包子文件的文件名称列表中,"map_json"可能...
".suo"则是Visual Studio用户选项文件,存储了用户特定的配置,如窗口布局和断点。这些文件可能与一个C#或C++项目相关,该项目实现了坐标转换的算法。 至于"xy"这个文件,由于没有扩展名,无法确定它的具体类型。...
在3D图形编程中,Three.js是一个非常流行的JavaScript库,用于在Web浏览器中创建和展示三维模型和场景。...这通常通过Three.js库提供的函数和自定义的坐标转换逻辑来完成,确保3D场景与网页上的2D元素完美结合。
在进行转换时,需要扩展这些结构体,添加额外的字段来存储Z轴坐标和转换参数。 三、数据导入与导出 1. 数据格式:在地理编码中,常见的数据格式有GPX、KML、Shapefile等。GPX(GPS Exchange Format)是一种XML格式...
在计算机图形学中,将屏幕2D坐标转化为场景3D坐标是一个重要的概念,尤其是在使用OpenGL这样的图形库进行3D渲染时。这个过程涉及到视口变换、投影变换以及反向投影等步骤,对于理解和开发3D应用程序至关重要。 首先...
GeoJSON是一种基于JSON的数据交换格式,常用于地理空间数据的存储和传输,它包含了地理位置信息,如点、线和面等。在不同的地理信息系统(GIS)应用中,坐标系的选择至关重要,因为不同的坐标系会导致位置的差异。本...
PCL是一个开源的C++库,专门用于处理三维点云数据,它提供了丰富的算法和工具,包括点云的读取、过滤、变换、特征提取、表面重建等。 在给定的代码中,我们看到一个C++程序,该程序利用PCL库来批量处理存储在同一...
OSGB是英国国家地理空间坐标系统,广泛应用于地理数据的存储和处理。下面将详细介绍OSGB坐标系统、osg工具以及如何利用osg2cesiumApp软件进行坐标转换。 首先,OSGB坐标系统是基于大地坐标系的,用于精确地描述英国...
### CoordShift.dll坐标转换动态链接库使用说明 #### 一、概述 `CoordShift.dll`是一款专门用于坐标转换的动态链接库(Dynamic Link Library,简称DLL),主要用于完成从大地直角坐标系到高斯平面坐标系之间的相互...
“Unit1.dfm”和“Unit1.pas”是Delphi项目中的组件文件和源代码文件,分别存储界面设计和逻辑代码;“GpsToBaidu.dproj.local”和“GpsToBaidu.dpr”是项目配置文件和主程序文件,用于项目管理;“GpsToBaidu.dproj...
压缩包内的源代码应该包含了实现这些功能的类或函数,可能包括数据结构来存储坐标,以及相关的数学库或自定义算法。对于开发者而言,理解和修改这些代码可以帮助他们深入学习坐标转换的原理,同时也可以将其应用于...
标签“坐标”表明这个资源的核心内容是地理位置的坐标数据,主要为经度和纬度值,这是GPS和地图服务的基础。这些坐标通常以十进制格式表示,遵循国际通用的WGS84坐标系统,广泛应用于各种基于位置的服务。 在压缩包...
2. Ellipse.csv:椭球体参数文件,地球被抽象为椭球体模型,每个坐标系可能对应不同的椭球体,此文件可能存储了各种椭球体的半长轴、半短轴和扁平率等信息。 3. ITRF.csv:国际大地参考框架(ITRF)的数据,ITRF是...
1. 创建`IGeometry`对象,这可以是点、线、面等几何类型,用于存储地图坐标。 2. 创建`ICoordinateTransformation`对象,它将用于执行坐标转换。你可以通过`SpatialReference`类的`CreateTransformation`方法来创建...
在C++中,可以使用结构体或类来存储这些坐标。 2. 转换坐标:由于地球并非完美的球体,而是椭球体,因此需要将经纬度转换为大地坐标(例如,WGS84坐标系),这涉及到地球椭球参数的计算。 3. 计算向量:根据起点和...
使用MFC(Microsoft Foundation Classes)库可以帮助构建用户界面,使用户能够输入和显示坐标。 5. **错误处理**:在编程过程中,需要考虑异常情况,如超出经度和纬度范围,或者计算中的溢出或除零错误。 通过上述...
本文将深入探讨如何使用C++编程语言,结合libgeotiff库来创建和编辑带有地理坐标系统和投影信息的GeoTIFF文件。 1. **GeoTIFF概述**: GeoTIFF是一种扩展的TIFF图像文件格式,它可以存储额外的元数据,这些元数据...
1. 定义坐标结构:创建自定义的数据结构来存储笛卡尔坐标(x, y)和大地坐标(经度,纬度,高度)。 2. 建立转换函数:编写函数来执行从笛卡尔到大地的转换和从大地到笛卡尔的反向转换。这些函数可能包含复杂的数学...