引言: 在软件项目中,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片段为:

  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包的更多相关文章

  1. 【Maven】从Maven中导出项目依赖的Jar包

    从SVN上下载源代码 svn export https://10.200.1.201/xxxx/PLATFORM code/ --force --username xxx --password xxx ...

  2. 在maven中开发Spring需要的jar依赖

    在maven中开发Spring需要的jar依赖 <properties> <spring.version>4.0.6.RELEASE</spring.version> ...

  3. 使用github作为maven仓库存放发布自己的jar包依赖 实现多个项目公共部分代码的集中,避免团队中多个项目之间代码的复制粘贴

    使用github作为maven仓库存放发布自己的jar包依赖 实现多个项目公共部分代码的集中,避免团队中多个项目之间代码的复制粘贴. 1.首先在本地maven位置的配置文件setting.xml(没有 ...

  4. Eclipse下新建Maven项目、自动打依赖jar包

    当我们无法从本地仓库找到需要的构件的时候,就会从远程仓库下载构件至本地仓库.一般地,对于每个人来说,书房只有一个,但外面的书店有很多,类似第,对于Maven来说,每个用户只有一个本地仓库,但可以配置访 ...

  5. maven工程打包成runnable的jar包,拷贝资源和依赖jar包

    eclipse下新建maven工程,生成runnable的jar包.之前一直是手动拷贝依赖的jar包和资源文件,烦得要死.上网可劲查了一下.解决方案如下. 在pom的配置文件中做如下配置: <b ...

  6. maven的介绍及如何获取jar包

    本文转载自   https://www.cnblogs.com/whgk/p/7112560.html 该篇文章篇幅较长,大概的思路如下 maven的介绍,初步认识,获取jar包的三个关键属性 --& ...

  7. 如何向Maven仓库(私服)中上传第三方jar包

    本文详细介绍如何向maven仓库中上传第三方jar包. 1.在本地maven安装路径中找到conf文件夹下面的setting.xml文件,里面有访问maven仓库的路径和账号.密码: 2.浏览器打开第 ...

  8. maven 如何给web项目添加jar包依赖

      maven 如何给web项目添加jar包依赖 CreateTime--2018年4月19日19:06:21 Author:Marydon 开发工具:eclipse 1.打开pom.xml文件--& ...

  9. 教你配置使用阿里云 Maven 库,体验秒下 jar 包的快感

    鉴于国内的网络环境,从默认 Maven 库下载 jar 包是非常的痛苦. 速度慢就不说了,还经常是下不下来,然后一运行就是各种 ClassNotFoundException,然后你得找到残留文件删掉重 ...

随机推荐

  1. 深入理解C#的装箱和拆箱(转)

    装箱和拆箱是值类型和引用类型之间相互转换是要执行的操作.  1. 装箱在值类型向引用类型转换时发生 2. 拆箱在引用类型向值类型转换时发生 光上述两句话不难理解,但是往深处了解,就需要一些篇幅来解释了 ...

  2. 根据导出的查询结果拼接字符串,生成sql语句并保存到txt文件中

    import os os.chdir("C:/") path = os.getcwd() print(path) f = open("sql.csv") # p ...

  3. 学习笔记之English

    雅思听力地图题的常用短语 - 无忧机经预测 https://mp.weixin.qq.com/s/VmV3L2METymtjMWHY2fNiA 雅思听力租房的那些事儿 - 北京市海淀区环球雅思 htt ...

  4. C# 利用Unity 实现IOC+AOP

    public interface INoticy { void Noticy(string msg); } public class SMSNoticy : INoticy { public void ...

  5. qnx spi 学习笔记

    文档还在编辑中,目前排版很乱,边看边写..等写完了编辑 qnx spi 学习  --目前只是看了代码,学的不深入,有错误的地方请联系我 谢谢 spi init spi init应该是分为2条线,一条是 ...

  6. C++primer第一章(部分)

    1.4.2 for 语句 for (init-statement; condition; expression) statement; step1:初始化 step2:判断条件,为真则执行循体:为假则 ...

  7. 01_新建WebApi后端服务项目

    1.打开微软官网: https://www.asp.net/learn 2.查看文章: https://docs.microsoft.com/en-us/aspnet/web-api/overview ...

  8. 【原创】Mac book pro入手后,需要做哪些才能开始开展自动化测试工作

    2018国庆节,脑袋一热,入手了一台Mac book pro,从此掉坑到了这个异构的操作系统中,因为之前工作中接触了Windows.Linux.Unix等操作系统的诸多版本,基本的操作倒是不成问题,但 ...

  9. eclipse连接mysql数据库

    我这里在eclipse新建一个maven 项目做测试 首先我们要在本地电脑安装了mysql数据库和mysql驱动包 我的mysql数据库是通过phpstudy自带的 这个是驱动包 window–> ...

  10. Python 编码的一些问题

    >>> ord('中') 20013 >>> chr(65) 'A' >>> chr(20013) '中' - Python文件默认是UTF-8编 ...