在Maven中新增自定的jar包

Posted 来自于四明山的码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Maven中新增自定的jar包相关的知识,希望对你有一定的参考价值。

引言: 在软件项目中,Maven提供了一体化的类库管理系统,非常实用。但是,如果新增的类库jar在网络上无法获取到,如何在本地按照Maven的规则添加进来呢?本文将通过一个小例子展示新增过程。

背景介绍:

  一个Maven管理的Java项目,提供一个系统级别的POM.xml,其中定义了整个项目使用的类库。

需求:

    需要添加一个自定义的类库到当前项目中。假定当前的类库文件名为:abc.jar.、

 

如何将类库添加进来?

1.  找到当前Maven的Repository类库位置

      一般默认情况下,在window系统下是当前用户目录: C:\Users\ZhangSan.  其中ZhangSan就是系统中当前的用户名. 在Linux系统下是/home/${USER_NAME}.

     在此目录下,有一个隐藏的目录.m2/repository专门用来存放Maven系统中管理的各种类库文件。

2.  假定当前abc.jar的版本为1.0

3.  在新增POM.xml中新增的Dependency片段为:

[html] view plain copy
 
  1. <dependency>  
  2.      <groupId>MyLocalJar</groupId>  
  3.      <artifactId>abc</artifactId>   
  4.      <version>1.0</version>  
  5.    </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/

以上是关于在Maven中新增自定的jar包的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse如何导入jar包

怎么引用jar包中的类

在Jenkins上进行自动化测试(非maven项目)

Gradle 打可执行jar包

如何在maven中添加本地jar包

如何在maven中添加本地jar包