引言: 在软件项目中,Maven提供了一体化的类库管理系统,很是实用。可是,若是新增的类库jar在网络上没法获取到,如何在本地按照Maven的规则添加进来呢?本文将经过一个小例子展现新增过程。html
背景介绍:java
一个Maven管理的Java项目,提供一个系统级别的POM.xml,其中定义了整个项目使用的类库。linux
需求:网络
须要添加一个自定义的类库到当前项目中。假定当前的类库文件名为:abc.jar.、spa
如何将类库添加进来?.net
1. 找到当前Maven的Repository类库位置xml
通常默认状况下,在window系统下是当前用户目录: C:\Users\ZhangSan. 其中ZhangSan就是系统中当前的用户名. 在Linux系统下是/home/${USER_NAME}.htm
在此目录下,有一个隐藏的目录.m2/repository专门用来存放Maven系统中管理的各类类库文件。blog
2. 假定当前abc.jar的版本为1.0ip
3. 在新增POM.xml中新增的Dependency片断为:
4. 在.m2/repository下须要新建的目录为:
MyLocalJar/abc/1.0/abc-1.0.jar
若是groupId为 MyLocalJar.myjar.util,则会被分解为3层的目录结构:MyLocalJar/myjar/util/1.0.
注意: 这里的abc.jar已经被新增了版本号,重名为abc-1.0.jar.
而后刷新系统就能够,正常使用了。
总结:
Maven其实遵循一个简单的原则,就是基于文件夹的层次来隔离各自的路径,groupId,arrtifactId,version都转换为了文件系统中的目录结构。对于Maven系统中的jar包自己也须要添加版本信息,例如这里的abc-1.0.
基于多版本的状况下,则会根据不一样的版本,生成不一样的目录,这个也是Maven在管理多版本的类包下的作法。
来源:http://blog.csdn.net/blueheart20/article/details/26565149/