有时我们要用的 maven 依赖项在官方repo库中找不到,然而我们从其他渠道获得了依赖项中的所有jar文件,本文记录了如何向本地库添加jar文件。

从复杂到简单,有三种方法:

  1. 使用 maven 的仓库管理器(例如Nexus)来架设一个本地仓库服务器
  2. 使用指令 mvn install:install-file 将jar文件安装到本地仓库
  3. 通过项目pom配置文件引入

第一种方法有利于团队开发,内容多一点,我打算单独用一篇文章记录。这里介绍其他两种方法:

使用指令 mvn install:install-file 将jar文件安装到本地仓库

语法规范:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging> -DgeneratePom=true Where: <path-to-file> the path to the file to load <group-id> the group that the file should be registered under <artifact-id> the artifact name for the file <version> the version of the file <packaging> the packaging of the file e.g. jar

我们以文件<not-yet-commons-ssl-0.3.17.jar>为例:

mvn install:install-file -Dfile=e:\not-yet-commons-ssl-0.3.17.jar -DgroupId=org.apache.commons -DartifactId=not-yet-commons-ssl -Dversion=0.3.17 -Dpackaging=jar -DgeneratePom=true

通过项目pom配置文件引入

编辑项目pom文件,在依赖项中增加条目,并指定<scope>和<systemPath>。

还是以文件<not-yet-commons-ssl-0.3.17.jar>为例:

<dependency> <groupId>org.apache.commons</groupId> <artifactId>not-yet-commons-ssl</artifactId> <version>0.3.17</version> <scope>system</scope> <systemPath>e:\not-yet-commons-ssl-0.3.17.jar</systemPath> </dependency>

等等,编译后出现一个警告:

[WARNING] 'dependencies.dependency.systemPath' for org.apache.commons:not-yet-commons-ssl:jar should use a variable instead of a hard-coded path e:\not-yet-commons-ssl-0.3.17.jar @ line 35, column 16
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.

原来是 maven 苦口婆心地告诉我们不要使用诸如 C:\Windows 这样的绝对路径,而应使用 ${java.home} 这样的相对路径(变量),否则降低了编译可重现性,并威胁我们以后可能不再支持这种方式。

嗯,我们可以建立一个 maven 仓库的环境变量来消除这个警告,如果你觉得有这个必要。

转载于:https://www.cnblogs.com/gugia/p/5006460.html

向Maven的本地库中添加jar文件相关推荐

  1. maven安装过程以及手动添加jar包到本地仓库

    Maven安装过程及手动添加JAR包到本地仓库详解 https://blog.csdn.net/niityzu/article/details/50997544 分类: Maven(1) 版权声明:本 ...

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

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

  3. 怎样在nexus 中 搜索到远程maven仓库中的jar 文件

    怎样在nexus 中 搜索到远程maven仓库中的jar 文件 url: http://www.oschina.net/question/95712_21999 点击Administration菜单下 ...

  4. Java Maven项目打包成可执行jar文件

    在pom文件中添加一下内容 <build><plugins><plugin><!-- Build an executable JAR --><gr ...

  5. 从exe4j生成的exe中抽取jar文件

    2019独角兽企业重金招聘Python工程师标准>>> 从exe4j生成的exe中抽取jar文件 博客分类: java 现在网络上越来越流行.net和java写的客户端的小应用程序, ...

  6. VC 6.0中添加库文件和头文件

    VC 6.0中添加库文件和头文件 分类: VC/VS 加头文件包含 VC6.0中: VC6.0默认include包含路径:Tools>Options>Directories>Incl ...

  7. python分发包_Python 分发包中添加额外文件的方法

    在制作一个 Python 分发包时经常需要把一些文件添加到包中.最常见的例子是你希望通过 pip install命令安装 Python 包时会在 /etc/ 等目录下自动添加默认配置文件,由此可以让 ...

  8. ASP.NET在主题中添加CSS文件

    ASP.NET在主题中添加CSS文件 在ASP.NET中,可以使用CSS来控制页面上HTML元素和ASP.NET控件的皮肤.如果在主题文件夹中添加了CSS文件,则在页面应用主题时也会自动应用CSS. ...

  9. Xcode7 Xcode6 中添加pch文件

    在Xcode7 和 Xcode6 中添加.pch文件是一样的,具体操作图文如下: 第一步:在Xcode的项目里,一般在Supporting Files 文件夹下创建,选中Supporting File ...

最新文章

  1. 第三章:创建用户界面组件--可视化组件(一)
  2. cnn 反向传播推导_反向传播算法推导过程(非常详细)
  3. ubuntu12.04上安装flashcahce
  4. md文件编辑器_可能是颜值最高的微信Markdown编辑器,用Markdown的你一定会爱上
  5. model模型php,thinkphp的model模型的设计经验总结
  6. 数据加密:RSA 密钥
  7. Ubuntu安装搜狗拼音和金山快盘
  8. latex图片_Latex使用图片、文献、模板——自定义与路径指定
  9. 股票余额理财会影响打新吗?
  10. 系统监控技术 -- 主机监控,信息转发,前台显示
  11. android截屏加水印,Android截图以及加水印Demo
  12. 计算机快捷键屏幕保护是什么原因,电脑屏幕保护_电脑屏幕保护快捷键
  13. Numpy 中某个矩阵的平方距离计算方法
  14. 为什么现在的程序员那么卑微?青出于蓝而胜于蓝啊
  15. Excel批量更改图片名称(无需下载其他工具)
  16. 小程序“Mustache”语法{{}}(双大括号)获取不到值或图片
  17. php 生僻字 拼音,PHP汉字转拼音(支持生僻字)
  18. Python squeeze()函数
  19. 17 追悔:回到过去,你也不能改变命运
  20. PostgreSQL 客户端下查看表,视图,function,切换数据库等

热门文章

  1. 是否遇到过MySQL workbench text字段不能直接放入json格式内容
  2. Momenta 陈凯:从人才角度看 L4 无人驾驶的实现 | AI 研习社职播间第 4 期(附 Momenta 招聘解读)...
  3. Android签名打包详解
  4. 经典Mathematica函数大全
  5. 了解Objective-C中NSAutoreleasePool使用方法
  6. 学点 C 语言(22): 数据类型 - 多维数组与指针
  7. [Android] AsyncTask详解
  8. Lync Server 2010迁移至Lync Server 2013部署系列 Part10:配置存档、监控服务器
  9. Linux:修改文件权限命令chmod
  10. Citrix XenDesktop 虚拟桌面 每用户/设备 许可手动释放